AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi FlashWindow(Ex) für interakt. Hilfe mit anderer Visual.
Thema durchsuchen
Ansicht
Themen-Optionen

FlashWindow(Ex) für interakt. Hilfe mit anderer Visual.

Ein Thema von Onkelrossie · begonnen am 19. Sep 2006 · letzter Beitrag vom 22. Sep 2006
Antwort Antwort
Onkelrossie

Registriert seit: 7. Aug 2006
43 Beiträge
 
Delphi 7 Architect
 
#1

FlashWindow(Ex) für interakt. Hilfe mit anderer Visual.

  Alt 19. Sep 2006, 20:44
Guten Abend zusammen,
ihr kennt doch sicher das Feature bei einer interaktiven Hilfe wo der Button oder die ListBox usw. die als nächstes angeklickt werden soll o.ä. kurz aufblinkt (3x Gelb umrahmt kurz hintereinander oder so ähnlich). Ich wollte das nun auch für meine Interaktive Hilfe verwenden und habe versucht das mit FlashWindow bzw. FlashWindowEx zu realisieren. Aber irgendwie blinkt es nicht so wie ich es gewohnt bin. Das was die function simuliert sieht für mich aus wie als wenn es das ziehl Fenster nur kurz aktiviert und wieder deaktiviert. Das sieht zwar auch aus als wenn es blinkt aber eben nicht so wie gewollt. Ausserdem funtioniert das nicht bei anderen Typen wie TListView usw. denn dort blinkt dann nur die Scrollbar. Im gegensatz zu WinSpy, was ja auch diese function hatt ein Fenster zu finden und es genau so aufblinken zu lassen wie ich wollte. Wenn ich den Code in WinSpy generiere für das gefundene Fenster bzw. Child Fenster dann steht da FlashWindow(wnd). Aber wenn ich es so in mein Project übernehme geht es nicht da ja noch ein LongBool erwartet wird. Und selbst wenn ich es abänder blinkt es ganz anders als WinSpy es vorgibt.

Ich hoffe ich konnte erklären worum es mir geht auch wenn ich etwas häufig das Wort "blinkt" verwendet habe.
Vieleicht kann mir ja bei meinem Problem jemand helfen *zu toms rüber schau*


mfG
Onkelrossie
  Mit Zitat antworten Zitat
Onkelrossie

Registriert seit: 7. Aug 2006
43 Beiträge
 
Delphi 7 Architect
 
#2

Re: FlashWindow(Ex) für interakt. Hilfe mit anderer Visual.

  Alt 20. Sep 2006, 18:22
Hallo, ich nochmal,
kann mir keiner einen Tipp geben oder ein Beispiel Posten?
Bin für jeden Vorschlag Dankbar!

mfG
Onkelrossie
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#3

Re: FlashWindow(Ex) für interakt. Hilfe mit anderer Visual.

  Alt 20. Sep 2006, 18:37
Du kannst dir einfach den Desktop-Gerätekontext holen:

Delphi-Quellcode:
deskcanvas := TCanvas.Create;
deskdc := GetDC(GetDesktopWindow);

deskcanvas.Handle := deskdc;
Darauf kannst du dann mit allen Zeichenfunktionen, die dir Canvas bietet, zugreifen.

Um deine Kritzelei () dann wieder wegzumachen, bietet sich MSDN-Library durchsuchenInvalidateRect an.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Onkelrossie

Registriert seit: 7. Aug 2006
43 Beiträge
 
Delphi 7 Architect
 
#4

Re: FlashWindow(Ex) für interakt. Hilfe mit anderer Visual.

  Alt 22. Sep 2006, 19:09
Hi, DGL-luke,
Danke für den Tipp der soweit das Zeichnen betrifft wunderbar Funktioniert hatt. Aber wie bekomme ich die größe des Fensters bzw. der einzelnen Memos usw. worauf ich zeichnen will raus? Ich möchte es ja wie gesagt umrahmen und da man das Fenster bzw. Memos usw. beliebig vergrößern / verkleinern kann muss ich ja die gegenwärtige größe irgendwie raus bekommen. Das Programm worauf ich zeichnen will ist aber ein anderes als das, welches zeichnen soll (Client / Server). Daher muss ich doch irgendwie über das Handle an die größen Informationen kommen, aber wie? WinSpy macht es ja auch irgendwie.
Es gibt da doch bestimmt eine Funktion womit man die Fensterkoordinaten bzw. Größen des aktuellen Handles also Fensters herraus bekommt oder?

Vielen Dank schonmal im Vorraus.

[Edit 1]
Habe eben mal in der Delphi Hilfe geschaut und dir Funktion "GetWindowRect" gefunden. Irgendwie Funktioniert das aber bei mir nicht so richtg.
Hier mal der Source:

Delphi-Quellcode:
procedure TfrmMain.Button1Click(Sender: TObject);
var
  W: HWND;
  D: HDC;
  C: TCanvas;
  R: Trect;
begin
  W := FindWindow('TfrmMain', 'Server');
  W := FindWindowEx(W, 0, 'TMemo', nil);
  D := GetWindowDC(W);
  GetWindowRect(W, R);
  C := TCanvas.Create;
  C.Handle := D;
  BeginPath(C.Handle);
  C.Pen.Style := psSolid;
  C.Pen.Mode := pmMask;
  C.Pen.Color := clRed;
  C.Pen.Width := 3;
  SetBkMode(C.Handle,TRANSPARENT);
  EndPath(C.Handle);
  C.Rectangle(R);
[/Edit 1]

HG
Onkelrossie
  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 22:18 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