![]() |
Link nicht "klickbar" mit WMNCHitTest
Hi Leute,
benutze
Delphi-Quellcode:
weil ich keine Titelleiste hab und die Form trotzdem bewegen will.
procedure TForm1.WMNCHitTest(var M: TWMNCHitTest);
begin inherited; if M.Result = htClient then M.Result := htCaption; end; Nun hab ich auf der Form in einem Label einen Link. Das Label hat folgende einstellungen:
Delphi-Quellcode:
Per
label1.Caption:='http://www.meineDomain.de';
label1.Font.Color:=clBlue; label1.Font.Style:=[fsUnderline]; label1.Cursor:=crHandPoint;
Delphi-Quellcode:
will ich die seite aufrufen.
ShellExecute(Application.Handle,'open',PChar(swDLlink2.Caption), nil, nil,SW_ShowNormal);
Leider lässt mich
Delphi-Quellcode:
nicht auf den Link.
procedure TForm1.WMNCHitTest(var M: TWMNCHitTest);
Frage: Gibt es eine Möglichkeit, dass das Label eine höhere priorität hat als der WMNCHitTest sodass ich auf den Link komme? Gruß |
Re: Link nicht "klickbar" mit WMNCHitTest
Gibt es denn hier keinen Profi der sich mit sowas auskennt?
ich _BRAUCH_ das! :( meinetwegen lad ich den dann auch auf :cheers: ein :) plzzzzzzzzzzzz Gruß |
Re: Link nicht "klickbar" mit WMNCHitTest
Was machsst du denn in der Message-Prozedur und wie/wann rufst du die Seite auf ?
|
Re: Link nicht "klickbar" mit WMNCHitTest
mein borderstyle ist none. daher hab ich mit "Fenster auch im Client-Bereich verschieben" (
![]() sie wird also immer aufgerufen, sobald ich in die form klicke. wenn da nun ein button ist, dann kann ich den wunderbar anklicken. listbox's und co gehen ebenfalls. aber halt das label will sich nicht hervorheben und somit wird dann beim klick auf den link nicht die shellexecute durchgeführt sondern halt immer noch
Delphi-Quellcode:
verständlich genug?
procedure WMNCHitTest(var M: TWMNCHitTest);
Gruß |
Re: Link nicht "klickbar" mit WMNCHitTest
Und wenn du stattdessen einen TStaticText nimmst ?
|
Re: Link nicht "klickbar" mit WMNCHitTest
Du musst nur eine Zeile hinzufügen:
Delphi-Quellcode:
procedure TForm1.WMNCHitTest(var M: TWMNCHitTest);
begin inherited; if M.Result = htClient then if ControlAtPos(ScreenToClient(SmallPointToPoint(M.Pos)), false) = nil then M.Result := htCaption; end; |
Re: Link nicht "klickbar" mit WMNCHitTest
Geht immer noch nicht.
Weder verändert sich der Cursor beim MouseOver noch passiert irgendwas wenn ich auf den Link klicke. Gibts noch weitere Lösungsvorschläge? Gruß |
Re: Link nicht "klickbar" mit WMNCHitTest
Moin th3lol,
ich habe das mal etwas abgewandelt, bezüglich der Darstellung des Links:
Delphi-Quellcode:
Und das funktioniert bei mir so mit D7.
procedure TForm1.WMNCHitTest(var M: TWMNCHitTest);
begin inherited; if M.Result = htClient then if ControlAtPos(ScreenToClient(SmallPointToPoint(M.Pos)), false) = nil then M.Result := htCaption; end; procedure TForm1.Label1MouseEnter(Sender: TObject); begin label1.Font.Color:=clBlue; label1.Font.Style:=[fsUnderline]; Cursor:=crHandPoint; end; procedure TForm1.Label1MouseLeave(Sender: TObject); begin label1.Font.Color:=clBlack; label1.Font.Style:=[]; Cursor:=crDefault; end; procedure TForm1.FormCreate(Sender: TObject); begin label1.Caption:='http://www.meineDomain.de'; end; procedure TForm1.Label1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin ShowMessage('Geht doch'); end; |
Re: Link nicht "klickbar" mit WMNCHitTest
eine bessere Möglichkeit wäre einfach im MouseDown der Form folgendes zu schreiben:
Delphi-Quellcode:
dadurch wird das verschieben des forms eingeleitet. Wenn jedoch ein label an der stelle ist wird kein verschieben eingeleitet weil das MouseDown des Forms nie aufgerufen wird.
ReleaseCapture;
perform(WM_SysCommand, $F012, 0); |
Re: Link nicht "klickbar" mit WMNCHitTest
Moin!
Danke für eure Hilfe! SirThornberry hat mir letzlich die Lösung verraten. Hab den Code auch bei den Bildern eingefügt, die das Programm quasi gestalten, jetzt funktioniert alles bestens. Von Christian Seehase hab ich auch noch einge sachen übernommen, jedoch nur der "optik" des quellcodes wegen - es hat auch schon vorher funktioniert. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz