Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Auf dem Desktop ''malen'' (https://www.delphipraxis.net/5064-auf-dem-desktop-malen.html)

Nicodius 22. Mai 2003 16:26


Auf dem Desktop ''malen''
 
Hallo, wie kann ich auf dem Desktop ''malen'' mit Canvas, bei einer Mausbewegung

ich hab Delphi3 Pro!

Danke im Voraus tschau

Stanlay Hanks 22. Mai 2003 16:36

Diese Prozedur zeichnet eine Linie auf dem Desktop

Delphi-Quellcode:
var
  dc : hdc;
begin
  dc := GetDc(0);
  MoveToEx(Dc, 0, 0, nil);
  LineTo(Dc, 300, 300);

end;

ATwardz 24. Mai 2003 01:00

und wie geht das dauerhaft?
 
Habe auch son Prog. wo direkt auf dem desk gezeichnet wird!
Fragen!
Wie kann ich das dauerhaft einrichten!
Warum funkst bei mir doch die moveto funk. nit?
(delphi6 enterp., winxp)
:shock:

@wardz

Luckie 24. Mai 2003 04:34

Dauerhaft einrichten wird wohl nicht gehen, da bei jedem Neuzeichnen des Desktops alles wieder verschwiednen wird von dir.

Sharky 24. Mai 2003 06:35

Zitat:

Zitat von Luckie
Dauerhaft einrichten wird wohl nicht gehen, da bei jedem Neuzeichnen des Desktops alles wieder verschwiednen wird von dir.

Hai,

besteht nicht die Möglichkeit ein transparentes Fenster über den gesamten Desktop zu legen und dann auf diesem zu zeichnen? Quasie wie eine durchsichtige Folie.

Luckie 24. Mai 2003 06:42

Das ginge, nur was machst du mit Windows9x? :wink:

Sharky 24. Mai 2003 06:53

Zitat:

Zitat von Luckie
Das ginge, nur was machst du mit Windows9x? :wink:

Ich schreibe in die Anforderung des Programmes das es nur auf NT Systemen läuft :lol:

Stanlay Hanks 24. Mai 2003 11:37

Das is natürlich auch ne elegante Lösung :lol:
Ne im Ernst, aber wenn er ein transparentes Fenster nimmt, verschwindet alles, was drin is, sobald er das Programm beendet und das is auch nich optimal. :wink:

Luckie 24. Mai 2003 13:38

Wird dir genauso passieren, wenn du es schaffst, dass er permanet auf dem Desktop bleibt und du Windows beendet und wieder startest.

dann mu0ß du es beim Beenden des Programms eben speichern und beim Öffnen wieder laden. :wink:

Stanlay Hanks 24. Mai 2003 13:41

Noch was, was gegen ein Transparentes fenster spricht. Wenn die Zeichnung immer zu sehen sein soll, dann muss das Programm ja immer im Vordergrund sein...was wiederum heißt, dass man keine anderen Programme mehr bedienen kann. Also nich so doll...

Sharky 25. Mai 2003 07:37

Zitat:

Zitat von Stanlay Hanks
Noch was, was gegen ein Transparentes fenster spricht. Wenn die Zeichnung immer zu sehen sein soll, dann muss das Programm ja immer im Vordergrund sein...was wiederum heißt, dass man keine anderen Programme mehr bedienen kann. Also nich so doll...

Mir geht es um ein kleines Programm das in der Systray liegt und über ein Hotkey ein Transparentes Fenster über den Desktop legt um auf diesem malen zu können.

Hintergrund:

Bei ein einem Vortrag oder einer Schulung kann dann der Vortragende schnell mal einen bestimten Bereich (z.B. einen Menüpunkt oder einen Eintrag in einer Excel-Tabelle) dadurch hervorheben das er einen roten Kreis darum malt. Es ist also nur für eine temporäre Zeichnung notwendig.

Zu diesem Zeitpunkt muss ja kein anderes Programm bedient werden. Mit der ESC-Taste soll das Fenster dann wieder verschwinden und es kann normal weiter gemacht werden.

Stanlay Hanks 25. Mai 2003 08:06

Achso..ich dachte, du wolltest ein dauerhaftes Bild über den Desktop malen.

GuenterM 10. Jul 2004 15:00

Re: Auf dem Desktop ''malen''
 
hab noch ne frage: hat jemand ne ahnung, wie ich das machen muss, wenn ich mit der maus zeichnen will. irgendwie klappt das bei mir nicht. der fängt an einer ganz anderen stelle zu malen an, als an der ich geklickt habe

alcaeus 10. Jul 2004 15:02

Re: Auf dem Desktop ''malen''
 
Überprüfst du auch die richtigen Mauskoordinaten? Du darfst nicht die absoluten Koordinaten abfragen, sondern musst die Mauskoordinaten relativ zur linken oberen Ecke des Forms finden. Evtl. kannst du ja mal Form1.Left bzw. Form1.Top von Mouse.CursorPos.x bzw. Mouse.CursorPos.y abziehen

Greetz
alcaeus

SirThornberry 10. Jul 2004 15:04

Re: Auf dem Desktop ''malen''
 
Wenn du den desktop zu dem Zeitpunkt nicht klickbar machen willst kannst du auch einfach einen Screenshot machen bei dem Hotkey und den dann als zeichenfläche anbieten

vlees91 10. Jul 2004 15:15

Re: Auf dem Desktop ''malen''
 
whiteboard/smartboard software hat das auch
einfach mal bei google nach webster oder smartboard (beides firmen) suchen

ps:die webster software ist schlechter als die von smartboard. ich weiß das, weil wir bei uns in jeder klasse von den neuen räumen ein smartboard/whiteboard haben. zuerst muit websterboards und jetzt mit smartboardboards, weil die auflösung dabei viel besser war

GuenterM 10. Jul 2004 17:53

Re: Auf dem Desktop ''malen''
 
ich steig immer noch nicht so ganz durch :|
wo muss ich den programmcode fürs Zeichnen einfügen, damit ich auch auf dem desktop zum malen anfangen kann? bis jetzt hab ich nur auf der form klicken und dann erst hinausmalen können.

SirThornberry 10. Jul 2004 18:06

Re: Auf dem Desktop ''malen''
 
Hier mal nen Sourceschnippsel, sollte alles selbsterklärend sein
Delphi-Quellcode:
[...]
type
  TForm1 = class(TForm)
  [...]
    FMDown: Boolean;
    { Private declarations }
[...]
procedure TForm1.FormCreate(Sender: TObject);
begin
  Brush.Style := bsClear;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  if FMDown then Canvas.LineTo(x, y);
end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  fMDown := True;
  Canvas.MoveTo(x, y);
end;

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  fMDown := False;
end;

GuenterM 10. Jul 2004 18:23

Re: Auf dem Desktop ''malen''
 
das mit dem zeichnen mit der klappt, aber ich glaube wir haben aneinander vorbeigeredet.
wenn ich zum zeichnen anfangen will muss ich auf der Form klicken, damit ich malen kann.
Ich kann nicht einfach irgendwo am Desktop ansetzen und dann ne Linie ziehen.
Gibts da ne Möglichkeit, das so einzustellen?

Fib 10. Jul 2004 19:02

Re: Auf dem Desktop ''malen''
 
Zitat:

Zitat von vlees91
whiteboard/smartboard software hat das auch
einfach mal bei google nach webster oder smartboard (beides firmen) suchen

ps:die webster software ist schlechter als die von smartboard. ich weiß das, weil wir bei uns in jeder klasse von den neuen räumen ein smartboard/whiteboard haben. zuerst muit websterboards und jetzt mit smartboardboards, weil die auflösung dabei viel besser war

Aehm, welche Stadt oder Gemeinde hat Geld um ne Schule mit sowas auszustatten?


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