Español
Foro

TreeView Problema el zweite

 

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
 
WinXP-Home ,XProfan10

Alfreds ... Freeware :  [...] 
07.07.2006  
 



¡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ón
DECLARE 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%)
 
07.07.2006  
 




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
 
WinXP-Home ,XProfan10

Alfreds ... Freeware :  [...] 
07.07.2006  
 



¡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.
 
07.07.2006  
 



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&)
 
07.07.2006  
 




Alfred
Wagner
Gracias Horst
funktioniert tadellos

Grüße

Alfred con Familie
 
WinXP-Home ,XProfan10

Alfreds ... Freeware :  [...] 
07.07.2006  
 



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.
 
08.07.2006  
 



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 ?
 
08.07.2006  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

876 Views

Untitledvor 0 min.
Member 862464114.04.2024
RudiB.07.04.2022
Andreas Koch12.04.2012
boh108.06.2011
Más...

Themeninformationen

Dieses Thema ha 3 subscriber:

unbekannt (4x)
Alfred Wagner (3x)
iF (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie