Form1 Ecken runden

Für Fragen von Einsteigern und Programmieranfängern...
Andy Nightingale
Beiträge: 245
Registriert: Mo 13. Jan 2025, 12:11

Form1 Ecken runden

Beitrag von Andy Nightingale »

Hallo Leute,
ich habe eine procedure gefunden die die Ecken runden soll. Aber ich weiß nicht wo und wie ich die in ein neues Projekt reinmachen soll (also das Form1). Das ist bestimmt etwas sehr einfaches,.- aber verstehs noch nicht ganz. Danke im voraus.

procedure TForm1.FormCreate(Sender: TObject);
var
CLFRgn: HRgn;
begin
CLFRgn := CreateRoundRectRgn(0, 0, Form1.Width, Form1.Height, 30, 30);
SetWindowRgn(Form1.Handle, CLFRgn, True);
end;

Benutzeravatar
Jorg3000
Lazarusforum e. V.
Beiträge: 375
Registriert: So 10. Okt 2021, 10:24
OS, Lazarus, FPC: Win64
Wohnort: NRW

Re: Form1 Ecken runden

Beitrag von Jorg3000 »

Hi!
Du lässt dir in Lazarus dein Form anzeigen und aktivierst es, dann im Objektinspektor auf den Reiter Eigenschaften, dann Doppelklick bei OnCreate.
In die automatisch erzeugte Methode kopierst du den Quellcode.
Meintest du das?

PS: Was am Anfang etwas irritierend sein kann: dass das Ereignis OnCreate heißt, aber die erzeugte Methode FormCreate heißt.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6815
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Form1 Ecken runden

Beitrag von af0815 »

An un für sich ist das Wigetset des Betriebssystem für die Dekoration und aussehen des Fensters zuständig. Wenn du dort hineinpfuscht kann es vom verwendeten Set des Users abhängen ob es funktioniert oder nicht. Nur so als Hinweis. Noch dazu kann es funktionieren, muss es nicht. Hängt von der Laune von Microsoft ab.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Andy Nightingale
Beiträge: 245
Registriert: Mo 13. Jan 2025, 12:11

Re: Form1 Ecken runden

Beitrag von Andy Nightingale »

Jorg3000 hat geschrieben: Fr 28. Mär 2025, 18:42 Hi!
Du lässt dir in Lazarus dein Form anzeigen und aktivierst es, dann im Objektinspektor auf den Reiter Eigenschaften, dann Doppelklick bei OnCreate.
In die automatisch erzeugte Methode kopierst du den Quellcode.
Meintest du das?

PS: Was am Anfang etwas irritierend sein kann: dass das Ereignis OnCreate heißt, aber die erzeugte Methode FormCreate heißt.
Hallo Jorg,
ja das habe ich nun so getestet, aber er findet anscheinend dieses var nicht. Er sagt:
dre.jpg
dre.jpg (16.97 KiB) 2251 mal betrachtet
qu.jpg
qu.jpg (20.16 KiB) 2251 mal betrachtet
Grüße

Benutzeravatar
theo
Beiträge: 10897
Registriert: Mo 11. Sep 2006, 19:01

Re: Form1 Ecken runden

Beitrag von theo »

Code: Alles auswählen

uses ... LCLType, LCLIntf;   

Andy Nightingale
Beiträge: 245
Registriert: Mo 13. Jan 2025, 12:11

Re: Form1 Ecken runden

Beitrag von Andy Nightingale »

Hallo Theo,
das wars. Danke sehr.- aber eine Frage dazu.- von woher weist du das? .- Gibt es da ein Verzeichnis wo drin steht was die verschiedenen Units (Uses) können? Grüße

Benutzeravatar
theo
Beiträge: 10897
Registriert: Mo 11. Sep 2006, 19:01

Re: Form1 Ecken runden

Beitrag von theo »

Andy Nightingale hat geschrieben: Sa 29. Mär 2025, 11:47 Hallo Theo,
das wars. Danke sehr.- aber eine Frage dazu.- von woher weist du das? .- Gibt es da ein Verzeichnis wo drin steht was die verschiedenen Units (Uses) können? Grüße
Rufe im Nachrichtenfenster auf dem bemängelten Eintrag ("Error: Identifier not found...") das Kontextmenü auf.
Wähle dort "Suche Bezeichner" und dann werden dir Units angezeigt, wo das Gesuchte vorkommt.

Der Bezeichner kann auch in mehreren Units vorkommen. Da wählt man am Besten die allgemeinste Unit.
Da muss man halt kurz überlegen.
Dateianhänge
suche_bez.png
suche_bez.png (275.21 KiB) 2103 mal betrachtet

Andy Nightingale
Beiträge: 245
Registriert: Mo 13. Jan 2025, 12:11

Re: Form1 Ecken runden

Beitrag von Andy Nightingale »

Hallo Theo,
cool. das ist ja super. Wie macht man es das dieses Nachrichtenfenster Mehrere Reiter hat wie Assembler, Haltepunkte usw. Bei mir ist nur ein Feld: Nachrichten. :D

Benutzeravatar
theo
Beiträge: 10897
Registriert: Mo 11. Sep 2006, 19:01

Re: Form1 Ecken runden

Beitrag von theo »

Hast du die gedockte IDE, oder "fliegen" bei dir alle Fenster einzeln herum?

Andy Nightingale
Beiträge: 245
Registriert: Mo 13. Jan 2025, 12:11

Re: Form1 Ecken runden

Beitrag von Andy Nightingale »

theo hat geschrieben: Sa 29. Mär 2025, 13:31 Hast du die gedockte IDE, oder "fliegen" bei dir alle Fenster einzeln herum?
Hi.- die fliegen alle herum :D

Andy Nightingale
Beiträge: 245
Registriert: Mo 13. Jan 2025, 12:11

Re: Form1 Ecken runden

Beitrag von Andy Nightingale »

af0815 hat geschrieben: Fr 28. Mär 2025, 20:11 An un für sich ist das Wigetset des Betriebssystem für die Dekoration und aussehen des Fensters zuständig. Wenn du dort hineinpfuscht kann es vom verwendeten Set des Users abhängen ob es funktioniert oder nicht. Nur so als Hinweis. Noch dazu kann es funktionieren, muss es nicht. Hängt von der Laune von Microsoft ab.
Hallo af0815,
wie kommst du darauf? Es wird doch folgendes benutzt: LCLType, LCLIntf; Grüße

Benutzeravatar
theo
Beiträge: 10897
Registriert: Mo 11. Sep 2006, 19:01

Re: Form1 Ecken runden

Beitrag von theo »

Andy Nightingale hat geschrieben: Sa 29. Mär 2025, 13:56
theo hat geschrieben: Sa 29. Mär 2025, 13:31 Hast du die gedockte IDE, oder "fliegen" bei dir alle Fenster einzeln herum?
Hi.- die fliegen alle herum :D
Dann liegt es daran. Eine gedockte IDE sieht so aus (QT6, das kleine Suchfeld ist noch extra).

lazdocked_qt6.png
lazdocked_qt6.png (221.79 KiB) 2044 mal betrachtet

Falls du das so haben willst, "Anchordockingdsgn" nachinstallieren.

Andy Nightingale
Beiträge: 245
Registriert: Mo 13. Jan 2025, 12:11

Re: Form1 Ecken runden

Beitrag von Andy Nightingale »

Danke Theo. :D

Benutzeravatar
Jorg3000
Lazarusforum e. V.
Beiträge: 375
Registriert: So 10. Okt 2021, 10:24
OS, Lazarus, FPC: Win64
Wohnort: NRW

Re: Form1 Ecken runden

Beitrag von Jorg3000 »

Andy Nightingale hat geschrieben: Sa 29. Mär 2025, 13:58
af0815 hat geschrieben: Fr 28. Mär 2025, 20:11 An un für sich ist das Wigetset des Betriebssystem für die Dekoration und aussehen des Fensters zuständig. Wenn du dort hineinpfuscht kann es vom verwendeten Set des Users abhängen ob es funktioniert oder nicht. Nur so als Hinweis. Noch dazu kann es funktionieren, muss es nicht. Hängt von der Laune von Microsoft ab.
Hallo af0815,
wie kommst du darauf? Es wird doch folgendes benutzt: LCLType, LCLIntf; Grüße
Über die "Laune von Microsoft" war ich auch gestolpert. Unter Windows gibt es Fensterbereiche (window region) seit Windows 2000, also seit 25 Jahren. Ich selbst nutze es seit rund 20 Jahren in Delphi. Ich habe in allen Windows-Versionen seitdem noch nie beobachtet, dass es jemals nicht funktioniert hätte. Was ist mit Laune von Microsoft gemeint?

Andy Nightingale
Beiträge: 245
Registriert: Mo 13. Jan 2025, 12:11

Re: Form1 Ecken runden

Beitrag von Andy Nightingale »

Hallo Jorg 3000,
du benutzt Delphi. Mich würde interessieren was der Unterschied zu Lazarus ist?. Habe gesehen das es extrem teuer ist. Warum ist das so teuer? Grüße

Antworten