Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Bei Click auf Canvas, kleines Fenster mit Hinweisen??? (https://www.delphipraxis.net/95134-bei-click-auf-canvas-kleines-fenster-mit-hinweisen.html)

winx 1. Jul 2007 20:06


Bei Click auf Canvas, kleines Fenster mit Hinweisen???
 
Hallo,

ist es irgendwie möglich, dass ich an meinem Cursor, sobald er auf das Canvas klickt,
ein kleines (evtl halbdurchsichtiges) Fenster mit variablen Texten aufpoppen lasse,
dass nach Beenden des klickens wieder zugeht?

danke,
winx

bitsetter 1. Jul 2007 21:28

Re: Bei Click auf Canvas, kleines Fenster mit Hinweisen???
 
Hi,

den Event onMouseDown und onMouseUp deines Formulars könntest du folgenden Code hinzufügen:
Delphi-Quellcode:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  FormHinweis.Left:= mouse.CursorPos.X;
  FormHinweis.Top:= mouse.CursorPos.Y;
  FormHinweis.Show
end;

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if FormHinweis.Showing then
    FormHinweis.Close
end;
Es wird also ein 2. Formular geöffnet, wo du vorher noch den BorderStyle auf bsNone sowie AlphaBlend auf true setzt und AlphaBlendValue einen Wert zuweist.
Für variable Texte kannst du ja ein TLabel oder TMemo nehmen und diese gegebenfalls dynamisch erstellen.

winx 1. Jul 2007 22:06

Re: Bei Click auf Canvas, kleines Fenster mit Hinweisen???
 
Hi,

also da klappt...das einzige Problem ist jetzt noch, das das neue Form, das aufgeht irgendwie "flabbert",
selbst wenn ich nur Show() aufrufe, wenn not Showing()...

haste da auch noch nen Tip?

Danke

Luckie 1. Jul 2007 22:08

Re: Bei Click auf Canvas, kleines Fenster mit Hinweisen???
 
Welchen Windowsfehlercode hat "flabbern"? :mrgreen:

winx 1. Jul 2007 22:27

Re: Bei Click auf Canvas, kleines Fenster mit Hinweisen???
 
:-D

hab da noch ein Problem, egal welche Werte ich für Farb einstelle, sie ist immer Grau!!!

kann das daran liegen, dass das Formular sehr schnell, sehr oft (beim drehen mit der maus ja klar) aufgerufen wird???

Und: Bekomme ich die Ecken des Formulars rund???

bitsetter 1. Jul 2007 22:45

Re: Bei Click auf Canvas, kleines Fenster mit Hinweisen???
 
Zitat:

Zitat von winx
kann das daran liegen, dass das Formular sehr schnell, sehr oft (beim drehen mit der maus ja klar) aufgerufen wird???

Wenn du im onMouseDown Event das 2. Formular anzeigen tust, müsste es doch eigentlich egal sein wie schnell du die Maus bewegst. Oder hast du ein anderes Event genommen?

Zitat:

Zitat von winx
hab da noch ein Problem, egal welche Werte ich für Farb einstelle, sie ist immer Grau!!!

Was hast du denn für ein Betriebsystem? Bei mir wird das Formular unter WinXP mit der richtigen Farbe und auch transparent angezeigt.

Zitat:

Zitat von winx
Und: Bekomme ich die Ecken des Formulars rund???

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender:TObject);
var
  HR: HRGN;
begin
  HR := CreateRoundRectRgn(0, 0, Width, Height, 25, 25);
  if HR <> 0 then
    try
      SetWindowRgn(Handle, HR, True);
    except
      DeleteObject(HR);
    end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:22 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