| Autor |
Beitrag |
max0704
Hält's aus hier
Beiträge: 13
Win Xp
D6
|
Verfasst: Do 30.09.04 15:40
Hallo erstmal!
also wie kann ich z.b. ausserhalb meiner form etwas schreiben... z.b. so wie bei manchen tv kartenprogrammen, wo so grün mitten auf dem bildschirm der name des senders erscheint, wenn man weiterzappt....???
hat das was mit canvas zu tun? ich habe echt 0 ahnung???
danke für eure hilfe!
|
|
Elite
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 30.09.04 15:43
Ich denk mal, dass das auch ne Form ist, aber alles bis auf die schrift wird durchsichtig dargestellt.
|
|
kachel81
      
Beiträge: 63
|
Verfasst: Do 30.09.04 16:45
Du kannst direkt auf den Desktop malen, dazu mußt Du dir den DeviceContext vom Desktop holen und dann kanst Du auch schon loszeichnen.
Beispiel:
www.swissdelphicente.../showcode.php?id=259
|
|
kachel81
      
Beiträge: 63
|
Verfasst: Do 30.09.04 16:55
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| procedure TForm1.FormShow(Sender: TObject); var DeskDC: HDC; MyRect: TRect; begin
DeskDC := GetDC(0); try if DeskDC > 0 then begin MyRect := Rect(0, 0, Screen.Width, Screen.Height); DrawText(DeskDC, PChar('LaLaLa'), -1, MyRect, DT_LEFT); end; finally ReleaseDC(0, DeskDC); end; end; |
|
|
max0704 
Hält's aus hier
Beiträge: 13
Win Xp
D6
|
Verfasst: Do 30.09.04 17:00
danke! das ist genau was ich meine...!!!!!
aber wie kann ich denn hintergrundfarbe und textfarbe einstelleN????
|
|
kachel81
      
Beiträge: 63
|
Verfasst: Do 30.09.04 17:12
Wenn Du im Delphi die hilfe für DrawText aufrufst ... und dann unter Group schaust findest Du die ganzen Befehle die Du benötigst.
Wie z.B.
Quelltext 1:
| SetTextColor(DeskDC, clRed); |
Aber wenn Du mich fragst, übernimm das Beispiel aus der URL, da Erzeugen die eine TCanvas Instanz, verknüppern die mit dem Desktop DeviceContext und arbeiten mit dem Canvas-Objekt weiter, das ist warscheinlich angenehmer zu benutzen.
|
|
max0704 
Hält's aus hier
Beiträge: 13
Win Xp
D6
|
Verfasst: Do 30.09.04 17:40
Das mit der Textfarbe funktioniert toll (obwohl es in meiner hilfe dazu keine antwort gibt (nur zu TControl.DrawTextBiDiModeFlags)...
aber wie kann ich denn noch die farbe des vierecks im hinter grund ändern? (dazu steht in der hilfe nämlich nix  )
ABER DAKNE SCHON MA FÜR DIE TOLLE HILFE BIS JETZT!!! 
|
|
kachel81
      
Beiträge: 63
|
Verfasst: Do 30.09.04 17:48
Quelltext 1:
| SetBkColor(DeskDC, clYellow); |
Aber die eigentlichen Probleme kommen ja erst noch, wenn Du ein Programm-Fenster über den Text schiebst wird es dabei abgelöscht und erscheint auch nicht wieder.
Mich würde interessieren ob jemand weiß, wie man das Neuzeichnen veranlassen kann.
|
|
GSE
      
Beiträge: 740
Win 2k, Win XP Pro
D5 Prof, D6 Ent, D2k5 PE
|
Verfasst: Do 30.09.04 17:59
timer?
mfg
GSE
_________________ Programming today is a race between software engineers striving to build bigger and better idiot-proof programs
and the universe trying to produce bigger and better idiots. So far, the universe is winning. (Richard Cook)
|
|
kachel81
      
Beiträge: 63
|
Verfasst: Do 30.09.04 18:04
Nee, keinen Timer verwenden.
Der Desktop weiß doch auch welche Bereiche er neu zeichnen muß, wenn z.B. ein Fenster verschoben wird, ich denk da mehr an Windows-Botschaften.
|
|
max0704 
Hält's aus hier
Beiträge: 13
Win Xp
D6
|
Verfasst: Do 30.09.04 19:01
Hi,
vielen danke, funktioniert prima!
by the way, wisst ihr, wie man das wieder wegmacht??? wie kann man den desktop neuzeichnen lassen???
und wie kann ich die schriftart ändern? finde nix in der hilfe...
kann man auch sowas wie ;override; machen, weil bei manchen applicationen flimmert die schrift... z.b. in spielen...
|
|