Español
Foro

Static Tab y Editar

 
- Página 1 -



Rolf
Koch
Huhu Personas,

heute tener Yo ne el turno de preguntas:
Tiene una ne Concepto:
@Control(STATIC,txt$,$54000106,x%,y%,breit%,hoch%,fenster&,$7918,%hInstance)
hay mentira Edits en él. Logischerweise kann Yo esta no con el Tabtaste anspringen. Logisch, porque es kein Diálogo y yo kann diesem Teil no 512él Valor conjunto.
Auch una Exwert $200 funktioniert no.
Yo necesidad el Teil aber. Leider klappt lo con Getkeystate(9) auch no.
Ist sólo blöde, si uno no con el Tabtaste zwischen el Edits hin y herspringen kann.
Hab alles intenta.

Aber, habe todavía una bisschen Hoffnung , como nichts unmöglich es.

Rolf
 
05.02.2005  
 



 
- Página 2 -



Uwe
''Pascal''
Niemeier
¡Hola Rolf!

Lo debería mehrere Gruppen de Elementen en una vez una- oder ausgeblendet voluntad (z.B. en Reiterwechsel en un Tab-Control)?

Como wäre lo con rahmenlosen Dialogen en lugar de Statics?

Tal vez podría uno el Statics auch una Subclassing unterziehen, si sólo el Nebenwirkungen no wären...

SeeYou
Pascal
 
07.02.2005  
 




Rolf
Koch
Hi Pascal,

sí wäre auch una Möglichkeit, si uno así simplemente y schön como una Static el Dialogen de Casa de una weisse Color de fondo geben podría. Von Casa de = por Stil y sólo no por Startpaint - Endpaint *würg*

Rolf
 
07.02.2005  
 



Rolf - Usted bist doch con el Hilo.pcu vertraut - por qué nimmst el no dafür - el es doch como dafür geschaffen. Puedo Usted natürlich auch una kleines demo dafür liefern.

Salve, IF
 
07.02.2005  
 




Rolf
Koch
Hi If,

klar bin Yo así vertraut, incluso muy intim
Also meinste hay Neuzeichnen?
Tuve extra *würg* en Startpaint geschrieben. Yo hasse Startpaint y Endpaint. Absolut langweilig

Aber como dijo: Nehmen nosotros el Thema später nochmals a, como lo en el Moment doch no así wichtig es. Lo sei porque una otro interessiert se weiterhin para el Fragestellung - salvo Startpaint LOL
Rolf
 
07.02.2005  
 




Jörg
Sellmeyer
¡Hola Rolf,
Como wäre lo porque así:

Cls
dlg&=Createdialog(%hwnd...)
Static&=Control(Static,dlg&,....)
en dieses Static una Mapa de bits con Handle zaubern, va en efecto con Mapa de bits de
Speicher. Ein 1 x 1 Pixel reicht sí ya para una weißen Hintergrund
Button&=CreateButton(%dlg,...)

So hast Usted el Controls en el Diálogo y el Static son Usted el weißen Hintergrund
Saludo
Jörg
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
07.02.2005  
 




Rolf
Koch
Gracias auch Usted para el Antwort.

Jedoch genau así (ähnlich sieht lo sí de).
Yo bin una Staticfetischist y por lo tanto arbeite Yo sólo Bitmaps en Statics.
Yo necesidad kein De mapa de bits en el Staticteil. Desde que por Stil el Staticcontrol en blanco färbe. Brauche also todavía no veces una Pixel Grafik.
Also: Control(STATIC,txt$,$54000106,x%,y%,breit%,hoch%,fenster&,$10000,%hInstance) wäre blanco = Whiterect
oder
54000105 = Grayrect
oder
54000104 = Blackrect.
Usted siehst, lo va en efecto sin Mapa de bits. Yo schätze Usted hast desafortunadamente mi Cuestión no verstanden. Como Yo qué erstelle y así más es sí klar . Schätzungsweise hast Usted sólo más unten angefangen a lesen, como sieht lo una otro Problema de .
Lo va lediglich en el problema en Statics erstellten Edits el Tabtaste abzufragen.

Abgesehen su restos en diesem Fall siempre todavía el problema

Mi Erstellung:

Diálogo redactar
Static en él (en weisem Stil)
Controls en él
y schätzungsweise hay no Solución el problema, lo sei el por Subclass., daß uno el Tabtaste hay en el Editfeldern ansprechen kann.

Aber como dijo: Macht Euch ahora no verrückt. Muss sólo ahora zuerst qué más programa.

[quote:1267241905]
Cls
dlg&=Createdialog(%hwnd...)
Static&=Control(Static,dlg&,....)
en dieses Static una Mapa de bits con Handle zaubern, va en efecto con Mapa de bits de
Speicher. Ein 1 x 1 Pixel reicht sí ya para una weißen Hintergrund
Button&=CreateButton(%dlg,...)
[/quote:1267241905]
Jo dürfte Yo kennen - así trabajo ROC, NOCTRAMIC (muy viel) y algunos meiner Beispielcodes doch.

Rolf
 
08.02.2005  
 



Moin Rolf, Todavía veces....

Tiempo schauen, si Yo dich bislang correcto verstanden habe:
So weit bist du ya...
KompilierenMarcaSeparación
Declare Static&,Edits&[5],fenster&,Focus%,txt$
WINDOWSTYLE 31
WINDOWTITLE "STATIC Control und Tabtaste",TXT$
Window 0,0-640,440
LET FENSTER&=@Control("Dialog","",$54000000,10,10,210,300,%HWND,$7917,%hinstance)
LET TXT$="Test"
LET STATIC&=@Control("STATIC",txt$,$54000106,0,0,210,300,fenster&,$7918,%hinstance,$10000)
LET EDITs&[1]=@CREATEEDIT(STATIC&,"",10,10,200,25)
LET EDITs&[2]=@CREATEEDIT(STATIC&,"",10,50,200,25)
LET EDITs&[3]=@CREATEEDIT(STATIC&,"",10,90,200,25)
LET EDITs&[4]=@CREATEEDIT(STATIC&,"",10,130,200,25)
LET EDITs&[5]=@CREATEEDIT(STATIC&,"",10,170,200,25)
@SETFOCUS(EDITs&[1])
LET FOCUS%=1

Whilenot %MENUITEM=-2

    Waitinput

WEND


El SKCONTROL.DLL Yo ahora veces weggelassen - así saber Yo mich no de - WS_TABSTOP hier nachträglich en el Controls einzufügen dürfte aber eigentlich kein Problema ser - oder doch?
Welche Problemas hast du con el Diálogo como Untergrund, por qué se el weg, y welche Problemas hay con WINDOWSTYLE 512?

 
08.02.2005  
 




Rolf
Koch
Hi AH,

jo komischerweise klappt como ahora el Tabtaste. Tuve auch $10000 genommen.
Tal vez liegt lo ahora doch sólo todavía a el SKEdits.
Aber wirklich bien así. Tal vez kann Yo sí entonces (si yo como weitermache) así umsetzen. Und evtl. el SKControls el Stile beibringen.

Thx
Rolf
 
08.02.2005  
 




Michael
Dell
¡Hola,

tener auch todavía una Ejemplo con WS_EX_CONTROLPARENT, weis allerdings no si el con el SKEdits auch se ejecuta:
KompilierenMarcaSeparación
Bitte tabulator Taste betätigen
Def GSC(1) !"USER32.DLL","GetSysColor"
Declare dlg1&,st1&,txt1&,ed1&,ed2&,ed3&,tst&
WindowStyle 538
Cls
dlg1& = Create("Dialog",%HWnd,"Test Dialog - Bitte tabulator Taste betätigen",40,40,400,300)
st1&  = Control("Static","Dies ist ein Test!",$54010106,40,40,200,150,dlg1&,$10001,%HInstance,$050080) WS_EX_CONTROLPARENT =$050080
st1&  = Control("Static","Dies ist ein Test!",$54010106,40,120,200,150,%HWnd,$10001,%HInstance,$050080) WS_EX_CONTROLPARENT =$050080
txt1& = Create(  "Text",st1&,"Dies ist ein Test!",10, 10,180, 16)
ed1&  = Create(  "Edit",st1&,            "Edit 1",10, 40,180, 18)
ed2&  = Create(  "Edit",st1&,            "Edit 2",10, 70,180, 18)
ed3&  = Create(  "Edit",st1&,            "Edit 3",10,100,180, 18)
Sleep 1000
ShowWindow(st1&,0)
Sleep 1000
ShowWindow(st1&,1)

WhileNot Or(Equ(%Key,2),Equ(%MenuItem,-2))

    WaitInput

EndWhile

DestroyWindow(dlg1&)
End

Saludo

Michael...
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
08.02.2005  
 




Rolf
Koch
Sí, Michael, klappt auch bestens!
Como ya he dicho: Dann hängt lo de (con Tab u.s.w) una otro Faktor de.
Werde entonces nochmals detailiert nachschauen, por qué esto no es así va. Aber tal vez es sí así ahora con el Beispielen, komme sólo no dazu a testen

Rolf
 
08.02.2005  
 




CB
Hi,

möchte Euch allen danken - ihr habt me muy geholfen, una Problema a beseitigen. Im Principio gings a gleiche Ausgangssituation como en Rolf - sólo Tabcontrols. Como el con SKControls va, kann Yo Usted desafortunadamente auch no sagen, Yo schätze aber, Sebastian se como sicher qué tricksen puede.
Auch si Euch el no neuen Erkenntnisse bringen se, schicke Yo veces mi Konstruktion (el primär fixierte 1. Tab Aunque una wilde Konstruktion, dazu Yo de Franco y Pascal auch otro Lösungen bekommen, aber esta es sólo de me - Yo schmücke mich nun veces sólo ungern con fremden Federn):
KompilierenMarcaSeparación
DEF SetWindowLong(3) ! "User32","SetWindowLongA"
DEF GetWindowLong(2) ! "User32","GetWindowLongA"
DEF &WM_CLOSE $010
DEF &WM_COMMAND $0111
DEF &TCM_SETITEMSIZE $01329
DEF &TCS_FIXEDWIDTH  1024
DEF &TCM_GETITEMCOUNT $01304
DEF &GWL_STYLE  -16
DEF MakeLong(2) Or(&(1),&(2)<<16)
DEF GetSysColor(1) !"USER32","GetSysColor"
UserMessages &WM_COMMAND,&WM_CLOSE
Declare Ende&,TabControl&,TabItems&,AllTabsBut&,AktivesTab&,Ende&,Tab2&
Declare EditTab1&,EditTab2_1&,EditTab2_2&,EditTab3&,EditTab4&,EditTab5&,EditTab6&
Declare Control1&,Control2&,Control3&,Text1&

PROC TAB1AKTIV

    ShowWindow(AllTabsBut&,1)
    ShowWindow(Control1&,1)

ENDPROC

PROC TAB1INAKTIV

    ShowWindow(AllTabsBut&,0)
    ShowWindow(Control1&,0)

ENDPROC

PROC TAB2AKTIV

    ShowWindow(Control2&,1)

ENDPROC

PROC TAB2INAKTIV

    ShowWindow(Control2&,0)

ENDPROC

PROC TAB3AKTIV

    ShowWindow(Control3&,1)

ENDPROC

PROC TAB3INAKTIV

    ShowWindow(Control3&,0)

ENDPROC

PROC TAB4AKTIV

    ShowWindow(EditTab4&,1)

ENDPROC

PROC TAB4INAKTIV

    ShowWindow(EditTab4&,0)

ENDPROC

PROC TAB5AKTIV

    ShowWindow(EditTab5&,1)

ENDPROC

PROC TAB5INAKTIV

    ShowWindow(EditTab5&,0)

ENDPROC

PROC TAB6AKTIV

    ShowWindow(EditTab6&,1)

ENDPROC

PROC TAB6INAKTIV

    ShowWindow(EditTab6&,0)

ENDPROC

WindowStyle 538
Cls
TabControl& = Create("TABCTRL",%hwnd,"TAB 1",0,0,width(%HWND),height(%HWND))
Tab2& = InsertTab(TabControl&,1,"TAB 2")
InsertTab(TabControl&,2,"TAB 3")
InsertTab(TabControl&,3,"TAB 4")
InsertTab(TabControl&,4,"TAB 5")
InsertTab(TabControl&,5,"TAB 6")
SetWindowLong(TabControl&,&GWL_STYLE,OR(GetWindowLong(TabControl&,&GWL_STYLE),$0440))
TabItems& = 1
SendMessage(TabControl&,&TCM_SETITEMSIZE,0,MakeLong(Width(TabControl&),20))
==== Elemente Tab 1 ====
Control1& = Control("Static","",$50000006,20,30,600,410,%HWND,1001,%hInstance,$050080)
EditTab1& = Create("Edit",Control1&,"Edit in Control 1",50,50,150,19)
Text1& = Create("Text",Control1&,"Dzt. ist nur Tab 1 sichtbar",170,325,170,15)
AllTabsBut& = Create("Button",%HWND,"Show all tabs",50,350,100,20)    gesonderte Behandlung, deswegen dem Hauptfenster zugeordnet
==== Elemente Tab 2 ====
Control2& = Control("Static","",$50000006,25,50,250,200,%HWND,2001,%hInstance,$09)
Control2& = Control("Static","",$50010106,25,50,250,200,%HWND,2001,%hInstance,$050080) WS_EX_CONTROLPARENT =$050080
EditTab2_1& = Create("Edit",Control2&,"Edit 1 in Control 2",50,100,150,19)
EditTab2_2& = Create("Edit",Control2&,"Edit 2 in Control 2",50,125,150,19)
==== Elemente Tab 3 ====
Control3& = Control("Static","",$50000007,30,90,250,200,%HWND,3001,%hInstance,$050080)
EditTab3& = Create("Edit",Control3&,"Edit in Control 3",50,150,150,19)
==== Elemente Tab 4 ====
EditTab4& = Create("Edit",%HWND,"Normales Tab 4",50,200,150,19)
==== Elemente Tab 5 ====
EditTab5& = Create("Edit",%HWND,"Normales Tab 5",50,250,150,19)
==== Elemente Tab 6 ====
EditTab6& = Create("Edit",%HWND,"Normales Tab 6",50,300,150,19)
TAB1AKTIV
TAB2INAKTIV
TAB3INAKTIV
TAB4INAKTIV
TAB5INAKTIV
TAB6INAKTIV
AktivesTab& = GetActiveTab(Tabcontrol&)
AktivesTab& = 0
EnableWindow Tabcontrol&,0

PROC TABS_erweitern

    EnableWindow Tabcontrol&,1
    WindowStyle erweitern um feste Breite (alle Tabreiter sind gleich breit)
    SetWindowLong(TabControl&,&GWL_STYLE,OR(GetWindowLong(TabControl&,&GWL_STYLE),OR(&TCS_FIXEDWIDTH,$0440)))
    Anzahl der Tabreiter ermitteln
    TabItems& = SendMessage(TabControl&,&TCM_GETITEMCOUNT,0,0)
    Breite und Hoehe setzen (Par1 bei MakeLong ist die Breite, Par2 bei Makelong ist die Höhe)
    SendMessage(TabControl&,&TCM_SETITEMSIZE,0,MakeLong(Width(TabControl&)/TabItems&,20))
    AktivesTab& = 0
    ShowWindow(Text1&,0)

ENDPROC

Whilenot Ende&

    Waitinput
    AktivesTab& = GetActiveTab(Tabcontrol&)   Ermittelt das selektierte Tab

    If %UMessage = &WM_CLOSE

        Ende& = 1

    ElseIf %UMessage = &WM_COMMAND

        If &ULParam = AllTabsBut&

            TABS_erweitern
            TAB1INAKTIV
            TAB2AKTIV
            TAB3INAKTIV
            TAB4INAKTIV
            TAB5INAKTIV
            TAB6INAKTIV
            TAB1AKTIV                           das kapier ich zwar nicht so ganz, aber es geht nur so,
            TAB2INAKTIV                         sonst wird der Inhalt von Tab1 nicht gleich angezeigt!
            ShowWindow(AllTabsBut&,0)

        EndIf

    EndIf

    If tabchanged(TabControl&)                Tab gewechselt?

        If AktivesTab& = 0

            TAB1AKTIV
            ShowWindow(AllTabsBut&,0)
            TAB2INAKTIV
            TAB3INAKTIV
            TAB4INAKTIV
            TAB5INAKTIV
            TAB6INAKTIV

        ElseIf AktivesTab& = 1

            TAB1INAKTIV
            TAB2AKTIV
            TAB3INAKTIV
            TAB4INAKTIV
            TAB5INAKTIV
            TAB6INAKTIV

        ElseIf AktivesTab& = 2

            TAB1INAKTIV
            TAB2INAKTIV
            TAB3AKTIV
            TAB4INAKTIV
            TAB5INAKTIV
            TAB6INAKTIV

        ElseIf AktivesTab& = 3

            TAB1INAKTIV
            TAB2INAKTIV
            TAB3INAKTIV
            TAB4AKTIV
            TAB5INAKTIV
            TAB6INAKTIV

        ElseIf AktivesTab& = 4

            TAB1INAKTIV
            TAB2INAKTIV
            TAB3INAKTIV
            TAB4INAKTIV
            TAB5AKTIV
            TAB6INAKTIV

        ElseIf AktivesTab& = 5

            TAB1INAKTIV
            TAB2INAKTIV
            TAB3INAKTIV
            TAB4INAKTIV
            TAB5INAKTIV
            TAB6AKTIV

        
/a> EndIf EndWhile End

Saludo, Christian
 
XProfan 8/9.1, Win XP, AMD 64/3200
08.02.2005  
 



 
- Página 3 -



Michael
Dell
¡Hola,

a Tac- Controls Schraub Yo auch grad rum, hier el aktuelle Stand:
KompilierenMarcaSeparación
Hier ein Beispiel wie man etwas einfacher die manchmal zahlreichen Controls auf Tabs umschalten kann!!!!
für jedes Tab gib es eine Basis-Static die den gesammten nutzbaren Bereich ausfüllt erst hierauf und nicht
auf dem eigenlichen Tab-Control werden alle anderen Controls eingerichtet
Def GSC(1)     !"USER32.DLL","GetSysColor"
Def gSelTab(1) SendMessage(&(1),$130B,0,0)       aktuelles Tab ermitteln
Def sSelTab(2) SendMessage(&(1),$130C,&(2),0)    neues Tab setzen
Declare tbc1&,stbc&[5],LastAcT&

Proc ChangeActTab

    Parameters TabNr&
    sSelTab(tbc1&,TabNr&)
    SetFocus(tbc1&)
    ShowWindow(stbc&[LastAcT&],0)   Deaktivieres zuletzt aktives Tab (Das Basis-Static für dieses Tab!!)
    ShowWindow(stbc&[TabNr&],1)  Aktiviere das nun aktive Tab (Das Basis-Static für dieses Tab!!)
    LastAcT& = TabNr&gSelTab(tbc1&)      Welches Tab ist nun Aktiv? (z.B.: durch anklicken)

EndProc

WindowStyle 538
Window Add(%maxX,10),0-640,480 Fenster ausserhalb erstellen
Cls GSC(15)
Aufbau der gesammten Tab-Controls und deren Kinder
tbc1&     = Control( "SysTabControl32","",$50010001,220, 20,400,360,   %HWnd,$a9000,%HInstance,$010000)Tab-Control erzeugen
InsertTab(tbc1&,0,"Eins") Erstes Tab anlegen
InsertTab(tbc1&,1,"Zwei") weiteres Tab anlegen
InsertTab(tbc1&,2,"Drei") weiteres Tab anlegen
InsertTab(tbc1&,3,"Vier") weiteres Tab anlegen
stbc&[0]  = Control( "STATIC",              "",$50010006,  2, 24,396,334,   tbc1&,$a9001,%HInstance,$010000)Basis-Static für Tab0
Control( "STATIC","Tabulatortaste",$50000000, 20, 50,140, 18,stbc&[0],$a9001,%HInstance)Textfeld für Tab0
Control(   "EDIT",             "A",$50010000, 20, 80,140, 20,stbc&[0],$a9001,%HInstance,$010200)Edit für Tab0
Control(   "EDIT",             "B",$50010000, 20,110,140, 20,stbc&[0],$a9001,%HInstance,$010200)Edit für Tab0
Control(   "EDIT",             "C",$50010000, 20,140,140, 20,stbc&[0],$a9001,%HInstance,$010200)Edit für Tab0
ShowWindow(stbc&[0],0) Basis-Static für Tab0 deaktivieren
stbc&[1]  = Control( "STATIC",              "",$50010006,  2, 24,396,334,   tbc1&,$a9002,%HInstance,$010000)Basis-Static für Tab1
Control( "STATIC","Tabulatortaste",$50000000, 20, 50,140, 18,stbc&[1],$a9002,%HInstance)Textfeld für Tab1
Control("ListBox",              "",$50010000, 20, 80,140,120,stbc&[1],$a9002,%HInstance,$010200)ListBox für Tab1
ShowWindow(stbc&[1],0) Basis-Static für Tab1 deaktivieren
stbc&[2]  = Control( "STATIC",              "",$50010006,  2, 24,396,334,   tbc1&,$a9003,%HInstance,$010000)Basis-Static für Tab2
Control( "STATIC",     "Text zu 3",$50000000, 20, 50,140, 18,stbc&[2],$a9003,%HInstance)Textfeld für Tab2
Control(   "EDIT",             "D",$50010000, 20, 80,140, 20,stbc&[2],$a9003,%HInstance,$010200)Edit für Tab0
ShowWindow(stbc&[2],0) Basis-Static für Tab2 deaktivieren
stbc&[3]  = Control( "STATIC",              "",$50010006,  2, 24,396,334,   tbc1&,$a9004,%HInstance,$010000)Basis-Static für Tab3
Control( "STATIC",     "Text zu 4",$50000000, 20, 50,140, 18,stbc&[3],$a9004,%HInstance)Textfeld für Tab3
Control(   "EDIT",             "F",$50010000, 20, 80,140, 20,stbc&[3],$a9004,%HInstance,$010200)Edit für Tab0
ShowWindow(stbc&[3],0) Basis-Static für Tab3 deaktivieren
LastAcT& = gSelTab(tbc1&)      speichern des zuletzt aktiven Tabs!
ShowWindow(stbc&[LastAcT&],1)  dessen Basis-Static aktivieren
Window 0,0-640,480 Fenster in den sichtbaren Bereich

WhileNot Or(Equ(%Key,2),Equ(%MenuItem,-2))          warte auf Beenden (X)

    WaitInput
    Case TabChanged(tbc1&): ChangeActTab(gSelTab(tbc1&))  Wenn Tabs verändert, Anzeige aktuallisieren

EndWhile

DestroyWindow(tbc1&)                                Zerstöre Tab-Control und alle Kinder
f='./../../references-fonction/XProfan/end/'>End

Apéndice: Kleine verbesserung - 09.02.05 / 3:10

Salu

Michael...
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
08.02.2005  
 




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

6.367 Views

Untitledvor 0 min.
Peter Max Müller13.11.2017
Ernst22.04.2016
Michael Borowiak04.11.2013
Julian Schmidt30.03.2012
Más...

Themeninformationen



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