AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Probleme mit Handle

Ein Thema von wsks · begonnen am 30. Mär 2004 · letzter Beitrag vom 1. Apr 2004
Antwort Antwort
wsks

Registriert seit: 16. Mär 2004
9 Beiträge
 
#1

Probleme mit Handle

  Alt 30. Mär 2004, 11:59
Hallo,
ich habe mit folgendem Programm das Problem, dass nach ändern der Borderstyle ein RECREATE ausgeführt wird und sich somit das HND vom Form1 ändert. Folglich gehen auch die HOTKEY'S nicht mehr.
So nun erstmal CODE:

Delphi-Quellcode:
procedure TForm1.WMHotKeyReg;
var hk_id_A :integer;
    hk_id_B :integer;
    hk_id_C :integer;
begin
  hk_id_A:=1;
  hk_id_B:=2;
  hk_id_C:=3;
  if(RegisterHotKey(Form1.Handle,hk_Id_a,0,WORD('1'))) then
  if(RegisterHotKey(Form1.Handle,hk_Id_b,0,WORD('2'))) then
  if(RegisterHotKey(Form1.Handle,hk_Id_c,0,WORD('3'))) then
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  WMHotKeyReg;
end;

procedure TForm1.WMHotKey(var Msg: TWMHotKey);
begin
  if(msg.HotKey = 1) then Showmessage('Taste 1');
  if(msg.HotKey = 2) then Showmessage('Taste 2');
  if(msg.HotKey = 3) then Form_Stil;
end;

procedure TForm1.form_stil;
begin
  Form1.BorderStyle:=bsSingle;
end;
Das ganze ist Teil eines grösseren Projektes und es hängen an dem HND noch mehrere Forms und CHILD'S. Ich muss also irgendwie erreichen das durch das setzen von BORDERSTYLE kein RECREATE ausgeführt wird bzw. ich das alte HND behalte.

Hat dazu jemand eine Idee?
DANKE
Gruss wsks
  Mit Zitat antworten Zitat
roderich
(Gast)

n/a Beiträge
 
#2

Re: Probleme mit Handle

  Alt 30. Mär 2004, 12:21
eine (vielleicht blöde) Frage: warum gibst du die Hotkeys nicht (evtl. unsichtbaren) MenuItems und gehst damit den Handle-Problemen aus dem Weg ?

Gruß
Roderich
  Mit Zitat antworten Zitat
wsks

Registriert seit: 16. Mär 2004
9 Beiträge
 
#3

Re: Probleme mit Handle

  Alt 30. Mär 2004, 12:38
Das Beispeil mit den Hotkeys soll nur zeigen was passiert wenn das Form durch RECREATE ein neues HND bekommt.
Ich muss aber im Projekt öfter Borderstyle usw. ändern.
Gruss wsks
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Probleme mit Handle

  Alt 30. Mär 2004, 12:47
Was isr RECREATE? Habe ich noch nie gehört.

Und so lange das Fenster nicht zerstört und wieder neu erzeugt wird, ändert sich auch das Handle nicht.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
wsks

Registriert seit: 16. Mär 2004
9 Beiträge
 
#5

Re: Probleme mit Handle

  Alt 30. Mär 2004, 13:28
Korrekt ist es natürlich - RecreateWnd -
Es ist aber leider so, dass wenn der Borderstyle sich ändert Form ein neues Handle bekommt. In meinem Beispiel sind die HOTKEYS dann nicht mehr verfügbar. Bin dann der Sache nachgegangen und in Unit Forms festgestellt das nach der Änderung von z.B. Borderstyle RecreateWnd ausgeführt wird.
Gruss wsks
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Probleme mit Handle

  Alt 30. Mär 2004, 13:32
Dann ruf doch danach:
Form1.BorderStyle:=bsSingle noch mal deine HotKey-Prozedur auf.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
wsks

Registriert seit: 16. Mär 2004
9 Beiträge
 
#7

Re: Probleme mit Handle

  Alt 30. Mär 2004, 14:38
Wie schon gesagt das mit den Hotkeys ist nur ein Beispiel. Ich brauch das Handle noch für weiter Funktionen und darf es nicht verändern durch BORDERSTYLE. Meine Idee dich ich hatte lag mehr im Bereich von:
SetWindowLong komme aber da irgenwie nicht weiter.
Gruss wsks
  Mit Zitat antworten Zitat
wsks

Registriert seit: 16. Mär 2004
9 Beiträge
 
#8

Re: Probleme mit Handle

  Alt 1. Apr 2004, 06:59
writeln('Hallo Welt');


Gruss wsks
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz