AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Bei Click auf Canvas, kleines Fenster mit Hinweisen???
Thema durchsuchen
Ansicht
Themen-Optionen

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

Ein Thema von winx · begonnen am 1. Jul 2007 · letzter Beitrag vom 1. Jul 2007
Antwort Antwort
winx

Registriert seit: 14. Jun 2005
265 Beiträge
 
#1

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

  Alt 1. Jul 2007, 20:06
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
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#2

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

  Alt 1. Jul 2007, 21:28
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.
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
winx

Registriert seit: 14. Jun 2005
265 Beiträge
 
#3

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

  Alt 1. Jul 2007, 22:06
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
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

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

  Alt 1. Jul 2007, 22:08
Welchen Windowsfehlercode hat "flabbern"?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
winx

Registriert seit: 14. Jun 2005
265 Beiträge
 
#5

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

  Alt 1. Jul 2007, 22:27


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???
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#6

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

  Alt 1. Jul 2007, 22:45
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 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 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;
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Antwort Antwort


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 20:19 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