Français
Forum

TreeView Problem qui zweite

 

Alfred
Wagner
allô Profaner

d'abord la fois qui code zum testen
KompilierenMarqueSéparation
!
 $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&)

ca va qui qui besagte Text qui avec DrawText erstellt wurde gelöscht wird?

merci déjà la fois im vorhinein

Alfred avec la famille
 
WinXP-Home ,XProfan10

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



allô Alfred
Es liegt à Drawtext....

DrawText hat ne...aucune Handle et peux c'est pourquoi pas détruit (Destroy...) volonté
j'ai es la fois abgeändert et so klappt alles
KompilierenMarqueSéparation
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 je toujours avec MKSTR$( ,anzahl%) et mets dabei TEXTCOLOR sur RGB(hintergrund%),RGB(hintergrund%)
 
07.07.2006  
 




Alfred
Wagner
allô Horst
merci pour deine Aider

mais malheureusement ist qui Text pas plus farbig,ou bien hab je quoi übersehen

Grüße

Alfred avec la famille
 
WinXP-Home ,XProfan10

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



allô Alfred
un Text, qui avec CREATE(TEXT,usw..... erstellt wird, ist toujours noir
Daher mon Tipp avec MKSTR$( ,anzahl%)
Beispiel:

CLS
TEXTCOLOR RGB(200,0,0),RGB(255,255,255)
DrawText 50,100,cette Text ist rouge sur weissem Hintergrund

- dans qui Procedur Effacer écris Du maintenant:

TEXTCOLOR RGB(255,255,255),RGB(255,255,255)
DrawText 50,100,MKSTR$(X,50)

qui numéro 50 ist seulement angenommen. Musst Du anpassen. maintenant wird beim Aufruf qui Procedur Effacer qui rote Text weiss (Hintergrund) überschrieben. cela peux Du naturellement avec chacun la couleur faire. - GetSyscolor(15) z. B.
 
07.07.2006  
 



Hab maintenant nochmal den Text komplett umgeschrieben. Drawtext stellt maintenant farbigen Text zur Disposition et cette wird gelöscht - Denke je konnte aider
KompilierenMarqueSéparation
 $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
merci Horst
funktioniert correcte

Grüße

Alfred avec la famille
 
WinXP-Home ,XProfan10

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



Hab là une kleinen Einwand!

cela Prinzip, avec Drawtext une Drawtext abzulöschen funktioniert souvent pas - besonders sur Standartinstallationen.

sur einem unversautem WinXP ist IMHO ClearType aktiv, alors qui Bildschirmschriftenglättung.

là cet souvent aktiv ist ergibt cela procéder hässliche Ränder - réellement verschwindet qui Text garnicht wirklich mais es rester Fragmente übrig.

si es déjà sur Pixeltext geschehen muss, ensuite muss qui überschriebene Bereich richtig wiederhersgestellt volonté.
on pourrait une Kopie qui Pixel im Memorybitmap anlegen et cette Bereich zum effacer nutzen, ou bien avec Rectangle den Text ablöschen.

Text sur Text ist mais aucun so gute concept.
 
08.07.2006  
 



allô iF

[quote-part:b8ddee25dd]Text sur Text ist mais aucun so gute concept.[/quote-part:b8ddee25dd]
Gebe Dir naturellement droite - était oui aussi seulement un Denkanstoss - meinereiner allez hin et vergrössert avec USEFONT.... den Schriftfont et ensuite sommes qui Ränder aussi oublier qc. Du musst mir toujours zugute tenir, dass je à peine avec irgendwelchen API- ou bien anderen Befehlen arbeite et letztendlich doch zum but viens - siehe mon UNIT - il y a aucun negativen Kritiken eingelaufen ou bien suis je qui Kritik pas wert ?
 
08.07.2006  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

890 Views

Untitledvor 0 min.
Member 862464114.04.2024
RudiB.07.04.2022
Andreas Koch12.04.2012
boh108.06.2011
plus...

Themeninformationen

cet Thema hat 3 participant:

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


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie