Top-Themen

Aktuelle Themen (A bis Z)

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

Mitglied: 31640

31640 (Level 1)

07.07.2006, aktualisiert 23.10.2012, 7388 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
Batch & Shell
Batch läuft nicht so rund
gelöst Frage von pixel0815Batch & Shell5 Kommentare

Hallo liebe Gemeinde, vielleicht weiß einer Rat warum der Befehl nicht ausgeführt wird? :O) Ausgabe Gruß Heiko

Windows 7

Täglich nach rund 8 h hängt der PC

Frage von tsunamiWindows 711 Kommentare

Hallo, ich habe ein Problem, eine Idee, aber keine Lösung. Also ein Win7 Pro PC mit 32 GB RAM ...

Windows Server

Fonts unter Windows 7 - 10 ausrollen (rund 300 Clients)?

gelöst Frage von 1410640014Windows Server1 Kommentar

Hallo, habe leider noch nie Fonts ausgerollt (Server: Windows 2012R2 in AD-Umgebung). Kennt wer eine GPO dafür? Oder reicht ...

Grafik

Fragen rund um CAD und 4k-TFTs von 32 Zoll und mehr

Frage von DerWoWussteGrafik9 Kommentare

Moin Kollegen! Hier wird überlegt, für CAD-Anwender von 2x24" Full-HD auf einmal 32" 4k oder gar 40" 4k-TFT (3.840 ...

Neue Wissensbeiträge
iOS
WatchChat für Whatsapp
Tipp von Criemo vor 2 TageniOS3 Kommentare

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor !!!
Tipp von Criemo vor 3 TageniOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Off Topic
Avengers 4: Endgame - Erster Trailer
Information von Frank vor 5 TagenOff Topic2 Kommentare

Ich weiß es ist Off Topic, aber ich freue mich auf diesen Film und vielleicht geht es anderen hier ...

Webbrowser
Microsoft bestätigt Edge mit Chromium-Kern
Information von Frank vor 5 TagenWebbrowser5 Kommentare

Microsoft hat nun in seinem Blog bestätigt, dass die nächste Edge Version kein EdgeHTML mehr für die Darstellung benutzen ...

Heiß diskutierte Inhalte
Hosting & Housing
VMware VM mit über 1TB RAM für S4HANA
gelöst Frage von Leo-leHosting & Housing24 Kommentare

Hallo zusammen, wer hat Erfahrng und kann mir einen Tipp zum sizing von S4HANA Systemen geben? Wir möchten, zunächst ...

LAN, WAN, Wireless
WLAN und Ausmessung - Eine Glaubensfrage?
Frage von ptr2brainLAN, WAN, Wireless23 Kommentare

Liebe Experten, als Sys-Admin habe ich mir schon öfter die Frage gestellt, ob es sich beim Thema WLAN und ...

Drucker und Scanner
SW-Laserdrucker mit sechs Papierfächern gesucht
Frage von MOS6581Drucker und Scanner19 Kommentare

Moin, zur Abwechslung mal eine sonderbare Anforderung :) Ich suche einen S/W Laserdrucker (kein MFP), der sechs Papierfächer bzw. ...

Virtualisierung
Gebrauchte Server Hardware als Virtualisierungs-"Spielwiese"?
Frage von NixVerstehenVirtualisierung19 Kommentare

Einen wunderschönen guten Morgen zusammen, ich möchte mich gerne etwas tiefer mit dem Thema Virtualisierung beschäftigen und dazu ein ...