Nach Hause
Top.Mail.Ru Yandeks.Metrika
Forum: "Haupt";
Aktuelles Archiv: 2002.01.08;
Herunterladen: [xml.tar.bz2];

Nach unten

Warum funktioniert dieser einfache Code nicht ... Finden Sie ähnliche Zweige


Kost   (2001-12-15 13:06) [0]

Es gibt ein Formular TForm1. Darauf befindet sich der "Experimental-Button" BitBtn1.
Es besteht der Wunsch, durch Klicken auf eine andere Schaltfläche - Button1 - Folgendes zu tun:
- Zeichnen Sie mit PaintTo ein BitBtn1-Bild auf einen Canvas-Bitmap-Canvas
- Bringen Sie die resultierende Bitmap zum Umriss des Formulars

KLAPPT NICHT! BitBtn1 wird nicht in Bitmap gezeichnet! WARUM? WO BIN ICH NICHT RECHT?

Prozedur TForm1.FormCreate (Sender: TObject);
beginnen
// Eine Bitmap erstellen
bmp: = TBitmap.Create;
bmp.Width: = 150;
bmp.Height: = 150;
end;

Prozedur TForm1.Button1Click (Sender: TObject);
beginnen
// Wenn Sie auf die Schaltfläche klicken, zeichnen Sie BitBtn1 auf der Canvas-Bitmap
BitBtn1.PaintTo (bmp.Canvas.Handle, 0, 0);
Ungültig machen; // Das Formular wird neu gezeichnet
end;

Prozedur TForm1.FormPaint (Sender: TObject);
beginnen
// Bitmap-Formulare anzeigen
Canvas.Draw (0,0, bmp);
end;



Song   (2001-12-15 22:18) [1]

Warum bist du:
1) Zeichenfläche mit PaintTo? Sie können die Glyphe direkt über Canvas.Draw festlegen - dies ist korrekter.
2) das Formular neu zeichnen? Sie müssen nur das aktualisierte Steuerelement neu zeichnen, d. h.
oder so:
Mit BitBtn1 Do
Beginnen
UpDate
Ungültig machen;
End;

entweder nur BitBtn1.RePaint;



Kost   (2001-12-16 12:25) [2]

In diesem Beispiel wollte ich zeigen, dass es in der Bitmap (genauer gesagt auf der Zeichenfläche der Bitmap) unmöglich ist, TBitBtn (oder TButton) mit PaintTo zu zeichnen.
WinControl "s hat eine solche Memberfunktion
WinControl.PaintTo (DC: HDC; X, Y: Ganzzahl)
mit dessen hilfe können sie angeblich ein bild von wincontrol auf eine beliebige leinwand zeichnen. Ich habe versucht, ein Schaltflächenbild (TBitBtn) auf der Leinwand der Bitmap zu zeichnen. Klappt nicht. Recherchiert mit anderen WinControls, stellt sich beispielsweise heraus, dass mit TPanel das Bild des Panels mit PaintTo auf die Bitmap übertragen werden kann.
Das heißt Diese Funktion für verschiedene WinControls funktioniert so, wie Gott die Seele berührt.



Song   (2001-12-16 22:31) [3]

Ich denke, das ganze Problem liegt nicht in PaintTo, sondern in DC (Typ HDC), es wird im Fall von TBitBtn nicht richtig angezeigt, d. H. Das System gibt ein falsches Handle für den Schaltflächenbereich zurück: ((



Seiten: 1 ganze Branche

Forum: "Haupt";
Aktuelles Archiv: 2002.01.08;
Herunterladen: [xml.tar.bz2];

nach oben





Speicher: 0.55 MB
Zeit: 0.023 c
3-21914
Achse
2001-12-03 18:05
2002.01.08
Frage zu MIDAS.


1-22230
Mann in rot
2001-12-15 23:01
2002.01.08
So zeigen Sie die Seriennummer des ausgewählten Zeichens in RichEdite an!


14-22408
Fliz
2001-11-08 15:24
2002.01.08
Ist das ein Fehler in Delphi? : ((


4-22486
Pantero
2001-11-03 23:59
2002.01.08
Griff


1-22198
T2
2001-12-16 07:23
2002.01.08
Eine Verarbeitung für einen Haufen von Schaltflächen





Afrikanisch Albanien Arabisch Armenisch Aserbaidschanisch Baskisch Weißrusse Bulgarisch katalanisch Chinesisch (vereinfacht) Chinesisch (traditionell) kroatisch Tschechisch Dänisch Niederländisch Englisch estnisch Philippinisch Finnisch Französisch
Galicisch Georgisch Deutsch Griechisch haitian Creole Hebräisch Hindi ungarisch isländisch Indonesian irisch Italienisch Japanisch Koreanisch lettisch litauisch Makedonisch Malay Maltesisch Norwegisch
persisch Polnisch Portugiesisch Rumänisch Russisch serbisch Slovakisch Slowenisch Spanisch Suaheli Schwedisch Thai Türkisch Ukrainisch Urdu Vietnamesisch Walisisch Jiddisch Bengalisch Bosnisch
cebuano Esperanto Gujarati Hausa Hmong igbo Javanisch kannada Khmer Laotisch Lateinisch Maorisch Marathi Mongolisch nepali Pandschabi Somalisch Tamilisch Telugu Yoruba
Zulu
Английский Französisch Deutsch Italienisch Португальский Russisch Spanisch