Foro | | | | Alfred Wagner | ¡Hola Profaner
Zuerst veces el code para testen KompilierenMarcaSeparación!
$P+
SetErrorLevel 0
DEF GETSYSCOLOR(1) !"USER32","GetSysColor"
$U F:PROGRAMMETOOLSXPROFAN9ROCKLIBTRV.PCU = TRV_ (Treeview Unit...) Pfad Anpassen !!
DECLARE TRVDLL$,BUTTON1&,TVITEM0&,TVITEM1&,Checkbox1&,Text1$,Text2&,Text3&
DECLARE TREEVIEW&,IMAGELIST&
TRVDLL$= "Shell32.DLL"
IMAGELIST&=IMAGELIST_CREATE(16,16,32,3,3) IMAGELIST ERZEUGEN
PROC CREATETREEVIEW
TRV_CREATETREEVIEW %HWND,0013,0010,0120,0285
TREEVIEW&=&(0)
REPAINT
ENDPROC
PROC TREEVIEWITEMS
TRV_SETTEXTCLR TREEVIEW&,0
TRV_SETBACKCLR TREEVIEW&,RGB(255,255,255)
TRV_INSERTICON "#1",TRVDLL$
TRV_INSERTITEM TVITEM0&,0,"1",TREEVIEW&
TVITEM0&=&(0)
TRV_INSERTICON "#2",TRVDLL$
TRV_INSERTITEM TVITEM0&,1,"2",TREEVIEW&
TVITEM1&=&(0)
TRV_EXPAND TREEVIEW&,TVITEM0&
TRV_EXPAND TREEVIEW&,TVITEM1&
ENDPROC
PROC GET_TREEVIEW ABFRAGEN DER TREEVIEWITEMS
IF GETFOCUS(TREEVIEW&)
IF TRV_GETITEM(TREEVIEW&)=TVITEM0&
TVITEM0_ONCLICK
SETFOCUS(%HWND)
ENDIF
----------------------------------------------------------
IF TRV_GETITEM(TREEVIEW&)=TVITEM1&
TVITEM1_ONCLICK
SETFOCUS(%HWND)
Endif
Endif
ENDPROC
Proc Löschen
@DestroyWindow (Text2&),1
@DestroyWindow (Text3&),1
@DestroyWindow (Checkbox1&),1Checkbox verschwindet
@DestroyWindow (Text1$),1Text verschwindet nicht
Endproc
PROC TVITEM0_ONCLICK
Löschen
Text1$ = "Dieser Text sollte beim Klick auf das zweite Treeview verschwinden"
TextColor RGB($FF,$00,$00),-1
Drawtext 170,50,Text1$
Checkbox1& = @Control("BUTTON","",$50008003,150,50,12,12,%HWND,100,%Hinstance,$10000)
ENDPROC
PROC TVITEM1_ONCLICK
Löschen
Text2& = @Create("Text",%HWND,"Tut er aber nicht ! Liegt wahrscheinlich an DrawText oder?",150,80,300,15)
Text3& = @Create("Text",%HWND,"Weiß jemand Rat ?",150,100,300,15)
ENDPROC
WINDOWSTYLE 31
WINDOWTITLE "Neues Fenster"
WINDOW SUB(DIV(%MAXX,2),DIV(543,2)),SUB(DIV(%MAXY,2),DIV(344,2))-543,344
SETTRUECOLOR 1
DECLARE ENDE%
CLS GETSYSCOLOR(15)
USEFONT "MS Sans Serif",13,0,0,0,0
SETDIALOGFONT 1
CREATETREEVIEW TREEVIEW ERSTELLEN
TREEVIEWITEMS ITEMS IN TREEVIEW EINFÜGEN
BUTTON1& = CREATE("BUTTON",%HWND,"Ende",0407,0268,0070,0021)
Hauptschleife
SETFOCUS(%HWND)
WHILENOT ENDE%
WAITINPUT
GET_TREEVIEW TREEVIEW ABFRAGE
If @EQU(%KEY,2)
LET ENDE%= 1
ELSEIF @EQU(%KEY,4)
ELSEIF GETFOCUS(BUTTON1&) BUTTON
ENDE%=1
ELSEIF GETFOCUS(TVITEM0&) BUTTON
TVITEM0_ONCLICK
ELSEIF GETFOCUS(TVITEM1&) BUTTON
TVITEM1_ONCLICK
ENDIF
WEND
IMAGELIST_DESTROY(IMAGELIST&)
es daß el besagte Texto el con DrawText erstellt wurde gelöscht se?
danke ya veces en el vorhinein
Alfred con Familie |
| | | | |
| | | ¡Hola Alfred Lo liegt a Drawtext....
DrawText ha kein Handle y kann deshalb no zerstört (Destroy...) voluntad Yo lo veces abgeändert y así klappt alles KompilierenMarcaSeparaciónDECLARE txt%
Proc Löschen
@DestroyWindow (Text2&),1
@DestroyWindow (Text3&),1
@DestroyWindow (Checkbox1&),0Checkbox verschwindet
@DestroyWindow (txt%),0Text verschwindet jetzt
Endproc
PROC TVITEM0_ONCLICK
Löschen
Text1$ = "Dieser Text sollte beim Klick auf das zweite Treeview verschwinden"
TextColor RGB($FF,$00,$00),-1
Drawtext 170,50,Text1$
txt%=CREATE("TEXT",%HWnd,text1$,170,50,400,20)
Checkbox1& = @Control("BUTTON","",$50008003,150,50,12,12,%HWND,100,%Hinstance,$10000)
ENDPROC
DrawText überschreibe Yo siempre con MKSTR$( ,anzahl%) y se sientan esta TEXTCOLOR en RGB(hintergrund%),RGB(hintergrund%) |
| | | | |
| | Alfred Wagner | ¡Hola Horst danke para deine Ayuda
Aber desafortunadamente es el Texto no mehr farbig,oder tener Yo qué übersehen
Grüße
Alfred con Familie |
| | | | |
| | | ¡Hola Alfred Ein Texto, el con CREATE(TEXT,usw..... erstellt se, es siempre schwarz Daher mein Tipp con MKSTR$( ,anzahl%) Ejemplo:
CLS TEXTCOLOR RGB(200,0,0),RGB(255,255,255) DrawText 50,100,Dieser Texto es rot en weissem Hintergrund
- en el Procedur Löschen schreibst Usted ahora:
TEXTCOLOR RGB(255,255,255),RGB(255,255,255) DrawText 50,100,MKSTR$(X,50)
El Zahl 50 es sólo angenommen. Musst Usted adaptar. Jetzt se beim Aufruf el Procedur Löschen el rote Texto blanco (Hintergrund) überschrieben. Das kannst Usted natürlich con cada Farbe hacer. - GetSyscolor(15) z. B. |
| | | | |
| | | Hab ahora otra vez el Texto komplett umgeschrieben. Drawtext stellt ahora farbigen Texto disponible y dieser se gelöscht - Denke Yo podría helfen KompilierenMarcaSeparación $P+
SetErrorLevel 0
DEF GETSYSCOLOR(1) !"USER32","GetSysColor"
$U G:XPROFAN_10_ENTWICKLUNGSANDKISTETRV.PCU = TRV_ (Treeview Unit...) Pfad Anpassen !!
DECLARE TRVDLL$,BUTTON1&,TVITEM0&,TVITEM1&,Checkbox1&,Text1$,Text2&,Text3&
DECLARE TREEVIEW&,IMAGELIST&
TRVDLL$= "Shell32.DLL"
IMAGELIST&=IMAGELIST_CREATE(16,16,32,3,3) IMAGELIST ERZEUGEN
PROC CREATETREEVIEW
TRV_CREATETREEVIEW %HWND,0013,0010,0120,0285
TREEVIEW&=&(0)
REPAINT
ENDPROC
PROC TREEVIEWITEMS
TRV_SETTEXTCLR TREEVIEW&,0
TRV_SETBACKCLR TREEVIEW&,RGB(255,255,255)
TRV_INSERTICON "#1",TRVDLL$
TRV_INSERTITEM TVITEM0&,0,"1",TREEVIEW&
TVITEM0&=&(0)
TRV_INSERTICON "#2",TRVDLL$
TRV_INSERTITEM TVITEM0&,1,"2",TREEVIEW&
TVITEM1&=&(0)
TRV_EXPAND TREEVIEW&,TVITEM0&
TRV_EXPAND TREEVIEW&,TVITEM1&
ENDPROC
PROC GET_TREEVIEW ABFRAGEN DER TREEVIEWITEMS
IF GETFOCUS(TREEVIEW&)
IF TRV_GETITEM(TREEVIEW&)=TVITEM0&
TVITEM0_ONCLICK
SETFOCUS(%HWND)
ENDIF
----------------------------------------------------------
IF TRV_GETITEM(TREEVIEW&)=TVITEM1&
TVITEM1_ONCLICK
SETFOCUS(%HWND)
Endif
Endif
ENDPROC
Proc Löschen
@DestroyWindow (Text2&),1
@DestroyWindow (Text3&),1
------------------------------------------------------------------------- NEU
@DestroyWindow (Checkbox1&),0Checkbox verschwindet
TEXTCOLOR GetSyscolor(15),GetSyscolor(15) Vorder- Hintergrund gleich
DrawText 170,50,text1$
TextColor RGB($FF,$00,$00),-1 alte Farben wieder einstellen für neuen Aufruf
------------------------------------------------------------------------- NEU
Endproc
PROC TVITEM0_ONCLICK
Löschen
Text1$ = "Dieser Text sollte beim Klick auf das zweite Treeview verschwinden"
TextColor RGB($FF,$00,$00),-1
Drawtext 170,50,Text1$
Checkbox1& = @Control("BUTTON","",$50008003,150,50,12,12,%HWND,100,%Hinstance,$10000)
ENDPROC
PROC TVITEM1_ONCLICK
Löschen
Text2& = @Create("Text",%HWND,"Tut er aber nicht ! Liegt wahrscheinlich an DrawText oder?",150,80,300,15)
Text3& = @Create("Text",%HWND,"Weiß jemand Rat ?",150,100,300,15)
ENDPROC
WINDOWSTYLE 31
WINDOWTITLE "Neues Fenster"
WINDOW SUB(DIV(%MAXX,2),DIV(543,2)),SUB(DIV(%MAXY,2),DIV(344,2))-543,344
SETTRUECOLOR 1
DECLARE ENDE%
CLS GETSYSCOLOR(15)
USEFONT "MS Sans Serif",13,0,0,0,0
SETDIALOGFONT 1
CREATETREEVIEW TREEVIEW ERSTELLEN
TREEVIEWITEMS ITEMS IN TREEVIEW EINFÜGEN
BUTTON1& = CREATE("BUTTON",%HWND,"Ende",0407,0268,0070,0021)
Hauptschleife
SETFOCUS(%HWND)
WHILENOT ENDE%
WAITINPUT
GET_TREEVIEW TREEVIEW ABFRAGE
If @EQU(%KEY,2)
LET ENDE%= 1
ELSEIF @EQU(%KEY,4)
ELSEIF GETFOCUS(BUTTON1&) BUTTON
ENDE%=1
ELSEIF GETFOCUS(TVITEM0&) BUTTON
TVITEM0_ONCLICK
ELSEIF GETFOCUS(TVITEM1&) BUTTON
TVITEM1_ONCLICK
ENDIF
WEND
IMAGELIST_DESTROY(IMAGELIST&)
|
| | | | |
| | Alfred Wagner | Gracias Horst funktioniert tadellos
Grüße
Alfred con Familie |
| | | | |
| | | Hab como una pequeña Einwand!
El principio, con Drawtext una Drawtext abzulöschen funktioniert oft no - besonders en Standartinstallationen.
Auf una unversautem WinXP es IMHO ClearType aktiv, Así que el Bildschirmschriftenglättung.
Como esta oft aktiv es ergibt el Verfahren hässliche Ränder - tatsächlich verschwindet el Texto garnicht wirklich pero lo bleiben Fragmente übrig.
Wenn lo ya encima Pixeltext geschehen muss, entonces muss el überschriebene Zona correcto wiederhersgestellt voluntad. Man podría una Kopie el Pixel en el Memorybitmap invertir y esta Zona para löschen nutzen, oder con Rectángulo el Texto ablöschen.
Texto en Texto es pero no así gute Concepto. |
| | | | |
| | | Hola si
[quote:b8ddee25dd]Texto en Texto es pero no así gute Concepto.[/quote:b8ddee25dd] Gebe Usted natürlich bastante - war en efecto sólo una Denkanstoss - meinereiner va hin y vergrössert con USEFONT.... el Schriftfont y luego son el Ränder auch vergessen. Usted musst me siempre zugute halten, dass Yo kaum con irgendwelchen API- oder otro Befehlen arbeite y letztendlich doch para Ziel komme - siehe mi UNIT - lo son no negativen Kritiken eingelaufen oder bin Yo el Kritik no wert ? |
| | | | |
|
RespuestaThemeninformationenDieses Thema ha 3 subscriber: |