Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Frage Entwicklung C und C++

Mitglied: 31640

31640 (Level 1)

07.07.2006, aktualisiert 23.10.2012, 7347 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
Webbrowser
T-Online-Login-Fenster öffnet unter Edge-Fenster (3)

Frage von achklein zum Thema Webbrowser ...

Windows Server
RemoteApp Fenster kommt nicht in den Vordergrund (1)

Frage von thomasreischer zum Thema Windows Server ...

Microsoft Office
gelöst Fenster in Office 2013 skalieren? (1)

Frage von Geforce zum Thema Microsoft Office ...

Batch & Shell
gelöst Mit Powershell schwarzes CMD-Fenster unterdrücken? (4)

Frage von Yauhun zum Thema Batch & Shell ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 Ordnerfreigabe (21)

Frage von Xaero1982 zum Thema Windows 10 ...

Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Monitoring
Netzwerk-Monitoring Software (17)

Frage von Ghost108 zum Thema Monitoring ...

Windows Server
gelöst Kopiervorgang schlägt fehl, weil Datei- und Ordnername zu lang sind (14)

Frage von Schroedi zum Thema Windows Server ...