Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Runde, Sternformige Fenster erstellen

Frage Entwicklung C und C++

Mitglied: 31640

31640 (Level 1)

07.07.2006, aktualisiert 23.10.2012, 7326 Aufrufe, 4 Kommentare

Erstellen von Fenster in verschieden Formen

Um ein rundes Fenster zu erstellen muss man die Funktion
01.
HRGN R; 
02.
R=Create***Rgn(i,j,i+1,j+1);	 
03.
SetWindowRgn(Handle, R, TRUE); 
04.
Statt *** setzt man name des Figurus(Ellipse für Kreis)
so
weist aber jemand was an dieser Funkton
01.
HRGN R1, R2; 
02.
for(int i=0;i<255;i++){ 
03.
	for(int j=0;j<255;j++){ 
04.
		if (!(picture->canvas->pixels[i][j]==clRed)){ 
05.
			R1=CreateRestangleRgn(i,j,i+1,j+1);	 
06.
		}	 
07.
		CombineRgn(R2,R2,R1,RGN_OR); 
08.
09.
10.
SetWindowRgn(Handle, R1, TRUE);
falsch ist?
werde sehr dankbar für eine Antwort.

Vprimachenko
Mitglied: filippg
07.07.2006 um 20:26 Uhr
Ich weiss nicht, ob das der Fehler ist, aber ich keine Figur, die sich "Restangle" nennt ( R1=CreateRestangleRgn(i,j,i+1,j+1); ).

Filipp
Bitte warten ..
Mitglied: 31640
07.07.2006, aktualisiert 23.10.2012
ja da hast du recht hab das jetzt umgeschrieben als

01.
#include <vcl.h> 
02.
#pragma hdrstop 
03.
 
04.
#include "Unit1.h" 
05.
//--------------------------------------------------------------------------- 
06.
#pragma package(smart_init) 
07.
#pragma resource "*.dfm" 
08.
TForm1 *Form1; 
09.
//--------------------------------------------------------------------------- 
10.
__fastcall TForm1::TForm1(TComponent* Owner) 
11.
        : TForm(Owner) 
12.
13.
14.
//--------------------------------------------------------------------------- 
15.
void __fastcall TForm1::FormCreate(TObject *Sender) 
16.
17.
Application->MessageBox("1","1",MB_OK); 
18.
HRGN R1, R2; 
19.
for(int i=0;i<255;i++){ 
20.
	for(int j=0;j<255;j++){ 
21.
		if (!(Image1->Canvas->Pixels[i][j] == clRed)){ 
22.
			R1=CreateRectRgn(i,j,i+1,j+1); 
23.
		        CombineRgn(R2,R2,R1,RGN_OR); 
24.
                       // Application->MessageBox(i,j,MB_OK); 
25.
26.
 
27.
28.
29.
Application->MessageBox("2","2",MB_OK); 
30.
SetWindowRgn(Form1->Handle, R2, true); 
31.
32.
//---------------------------------------------------------------------------
Hillft aber nicht ...
Bitte warten ..
Mitglied: 31640
10.07.2006, aktualisiert 23.10.2012
habe das fehler gefunden:
01.
 
02.
#include <vcl.h> 
03.
#pragma hdrstop 
04.
 
05.
#include "Unit1.h" 
06.
//--------------------------------------------------------------------------- 
07.
#pragma package(smart_init) 
08.
#pragma resource "*.dfm" 
09.
TForm1 *Form1; 
10.
//--------------------------------------------------------------------------- 
11.
__fastcall TForm1::TForm1(TComponent* Owner) 
12.
        : TForm(Owner) 
13.
14.
15.
//--------------------------------------------------------------------------- 
16.
void __fastcall TForm1::FormCreate(TObject *Sender) 
17.
18.
Application->MessageBox("1","1",MB_OK); 
19.
HRGN R1, R2; 
20.
R2=CreateRectRgn(0,0,1,1);    //erste RGN erstellen 
21.
for(int i=0;i<255;i++){ 
22.
	for(int j=0;j<255;j++){ 
23.
		if (!(Image1->Canvas->Pixels[i][j] == clRed)){ 
24.
			R1=CreateRectRgn(i,j,i+1,j+1); 
25.
		        CombineRgn(R2,R2,R1,RGN_OR); 
26.
                       // Application->MessageBox(i,j,MB_OK); 
27.
28.
 
29.
30.
31.
R1=CreateRectRgn(0,0,1,1);           //Erste RGN nochmal erstellen 
32.
CombineRgn(R2,R2,R1,RGN_DIFF); //wieder rausnehmen 
33.
Application->MessageBox("2","2",MB_OK); 
34.
SetWindowRgn(Form1->Handle, R2, true); 
35.
36.
//---------------------------------------------------------------------------
Man kann scheinbar nicht NULL mit RGN zusmmensetzen (funktion CombineRgn) also benutz ich son Umweg
Bitte warten ..
Mitglied: 31640
18.07.2006 um 09:53 Uhr
jetzt gibt´s ein Tuto dafür(mit Bild)!
Bitte warten ..
Ähnliche Inhalte
E-Mail
Live.de Email erstellen (2)

Frage von themast zum Thema E-Mail ...

Batch & Shell
gelöst Erstellen von Verknüpfungen mithilfe einer Variablen (3)

Frage von ciNNEx zum Thema Batch & Shell ...

Batch & Shell
gelöst Ich Möchte in einem Batch Programm User erstellen (14)

Frage von Gangster137910 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Windows Server

Exchange 2010 auf Windows Server 2016 und AD

(2)

Tipp von Herbrich19 zum Thema Windows Server ...

KVM

How to: Libvirt Port forwarding

(2)

Anleitung von fundave3 zum Thema KVM ...

Heiß diskutierte Inhalte
Netzwerkprotokolle
PC erhalten nicht immer eine gültige IP (29)

Frage von Lieberwolf zum Thema Netzwerkprotokolle ...

Windows Systemdateien
Windows 7 und 10 herunterfahren Knopf mit Script belegen (21)

Frage von c-o-o-p-e-r92 zum Thema Windows Systemdateien ...

Router & Routing
über Vmware auf eine FritzBox mit IPv6 per VPN (16)

Frage von Zockervogel zum Thema Router & Routing ...