Español
Foro

Tab Taste en Dialogfenster

 
- Página 1 -



GDL
Hi Profaner,

como kann Yo anstellen, el una Multiedit oder Richedit auch en una Dialogfenster así reagiert como en el Ventana principal ?D.h. beim Drücken el Tab Taste se eingerückt y ser no el Multiedit el Focus verlieren.

Vielen Dank y verbleibe con freundlichen Grüßen
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
24.02.2005  
 



 
- Página 1 -



GDL
¡Hola Michael,

puh,bekam ya una Schrecken.
Baute mein ursprüngliches Programa en,sólo el Guardar y Run Características gingen no mehr.

Kam entonces detrás de él,el Windowseigene Dialoge (Guardar,Messagebox usw.),si ellos en vom Static mentira,detrás de él verborgen bleiben.

Habs entonces así gelöst.
KompilierenMarcaSeparación
textfeld&=das Richedit
riche&=Static
subfenster&=Dialogfenster
SelectAll textfeld&
CopyToClip(textfeld&)
destroywindow(riche&)
speichern                  hier Speicherdialog
erzeugen
riche& = Control("Static","",$D0000120,0,60,800,600,subfenster&,0,%HINSTANCE,$040008)  Static - Edit Unterlage
CreateRTFControl riche&,0,60,800,600
Let textfeld&=GetIntResult()
rtf&=@CREATE("FONT","COURIER",16,12,1,0,0)
setfont textfeld&,rtf&
PasteAsText(textfeld&)
setfocus(textfeld&)

Posesiones otra vez einiges dazugelernt.

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
25.02.2005  
 




Michael
Dell
¡Hola,

el schwierigkeit beim Platzieren el Controls ensteht por el Staticstil lo es se hier no en una Child pero en una Popup. Das bedeutet: (x,y = 0,0) heißt linker oberer Bildschirmrand, no linke obere Ecke des übergeordneten Fensters.

Hab todos überarbeitet, así el lo con un einzigen Befehl va.

cMEDwStc(ControlNummer&,WindowHndl&,x&,y&,cx&,cy&,zusatzStil&).

Mit SetParent se (x,y) korrekt gesetzt (Dank IF):
KompilierenMarcaSeparación
**** Hiermit können bis zu 40 (0-39) MultiEdits auf Statics erzeugt und zerstört werden ****
DEF ASetParent(2) ! "USER32","SetParent"
Declare MED1&[40,2]  MED1&[CtrlNr&,0] = StaticHandle / MED1&[CtrlNr&,1] = MultiEditHandle
Clear MED1&[]

Proc cMEDwStc  erstsellt ein Multiline- Edit auf einem Popup- Static (Unabhängig gegenüber übergeordneten Fenster!)

    Parameters CtrlNr&,dHndl&,x&,y&,cx&,cy&,zStil&
    Declare erg$
    MED1&[CtrlNr&,0] = Control("Static","",Or($D0000120,zStil&),x&,y&,cx&,cy&,dHndl&,Add($a8000,CtrlNr&),0,$040008)  StaticUnterlage
    ASetParent(MED1&[CtrlNr&,0],dHndl&)

    IfNot (zStil& = 6)

        MED1&[CtrlNr&,1] = Control("Edit","",$50B000C4,0,0,cx&,cy&,MED1&[CtrlNr&,0],Add($a8000,CtrlNr&),0,$000200)  EditMultiline

    EndIf

    Case Gt(MED1&[CtrlNr&,0],0) Or Gt(MED1&[CtrlNr&,1],0): Return -1
    Return 0

EndProc

Proc KillMEDwStc  Killt alle mit cMEDwStc erstellten Controls

    Parameters CtrlMaxNr&

    WhileLoop 0,CtrlMaxNr&,1

        DestroyWindow(MED1&[&Loop,0])

    EndWhile

EndProc

**********************************************************************************************
**** Programm Start ****
Declare dlg1&,bt1&,bt2&,bt3&
WindowStyle 26538
Window 0,0-640,480
dlg1& = Create("Dialog",%HWnd,"Test- Fenster",20,20,640,480)  Quasi Dialog Fenster
Zuerst die Buttons und alle anderen Controls erstellen
bt1& = Create("Button",dlg1&,"Button 1",480, 60,120,22)
bt2& = Create("Button",dlg1&,"Button 2",480,100,120,22)
bt3& = Create("Button",dlg1&,"Button 3",480,140,120,22)
jetzt das Static- Control als Unterlage fürs MultiEdit (und nur für dieses)
es Trennt sozusagen das Edit vom Dialog und dessen Eigenschaften!
cMEDwStc(0,dlg1&, 20, 20,400,420,0)
cMEDwStc(1,dlg1&,460,180,162,160,$06) letzter Parameter auf $06 zum ausrichten des Controls
SetActiveWindow(dlg1&)

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

    WaitInput

EndWhile

KillMEDwStc(1)
f='./../../funktionsreferenzen/XProfan/end/'>End

Salu

Michael...
 
Salu Michael...

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



Und por qué nimmst no simplemente nen
KompilierenMarcaSeparación
DEF ASetParent(2) ! "USER32","SetParent","%%","%"
>

?

Salve, IF
 
26.02.2005  
 




Michael
Dell
Hola si, el kannte Todavía no

Gracias

Michael...
 
Salu Michael...

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



Achso lol - Yo tener gegrübelt si el nich Nachteile mitsich bringt - aba así ists sí jut.

Salve, IF
 
26.02.2005  
 




CB
[quote:a59489485d=Georg Dankesreiter]Kam entonces detrás de él,el Windowseigene Dialoge (Guardar,Messagebox usw.),si ellos en vom Static mentira,detrás de él verborgen bleiben.
[/quote:a59489485d]
¡Hola Georg,
tal vez hilft Usted auch una erweiterter Stil para Messageboxen: (Auszug de el Profano-Ayuda)

Werte para FENSTERART:
0 - normales Ventana (~MB_APPLMODAL)
4096 - großes, no verschiebbares Fehler-Ventana (~MB_SYSTEMMODAL)
8192- como 0, sin embargo para unsichtbare Ventana (~MB_TASKMODAL)
16384- fügt una Ayuda-Button hinzu (~MB_HELP)
65536- el MessageBox se en el Vordergrund gesetzt (~MB_SETFOREGROUND)
262144- el MessageBox se en el Vordergrund gesetzt y restos hay (~MB_TOPMOST)
524288- Texto rechtsbündig ausrichten (~MB_RIGHT)

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



 
- Página 2 -



Michael
Dell
¡Hola,

el problema con el MessageBoxen lag al Static- Stil WS_EX_TOPMOST, dank SetParent kann darauf ahora verzichtet voluntad.
KompilierenMarcaSeparación
**** Hiermit können bis zu 40 (0-39) MultiEdits auf Statics erzeugt und zerstört werden ****
Befehle: cMEDwStc(ControlNr&,dHndl&,EditArt&,Text$,x&,y&,cx&,cy&,zusatzStil&)
--> erstsellt Edits auf einem Static (macht das Edit Unabhängig vom übergeordneten Fenster!)
-- ControlNr&    = Nummer des Controls (0-39 beginnt bei 0 & wird immer um eins erhöht)
-- dHndl&        = Handle des übergeordneten Dialogs
-- EditArt&      = 0 => MultiEdit / 1 => RichEdit
-- Text$         = erster Text der im Edit erscheinen soll sonst => ""
-- zusatzStil&   = bei 1 => wird nur das Static mit hellem Hintergrund erzeugt,
das dient zum Platzieren des Controls (Entwicklung) sonst => 0
KillMEDwStc(MaxControlNr&)
--> Killt alle mit cMEDwStc erstellten Controls
-- MaxControlNr& = die höchste Control Nummer (bei 2 erzeugten also 1)
gStcHandl(ControlNr&)
--> gibt das Handle des Controls (Static mit ControlNr&) zurück
gMedHandl(ControlNr&)
--> gibt das Handle des Controls (Edit mit ControlNr&) zurück
DEF ASetParent(2) ! "USER32","SetParent"
Declare MED1&[40,2]  MED1&[CtrlNr&,0] = Static Handle / MED1&[CtrlNr&,1] = Edit Handle
Clear MED1&[]

Proc cMEDwStc  erstsellt Edits auf einem Static (macht das Edit Unabhängig vom übergeordneten Fenster!)

    Parameters CtrlNr&,dHndl&,Art&,Txt$,x&,y&,cx&,cy&,zStil&
    Case Lt(CtrlNr&,0) Or Gt(CtrlNr&,39): Return -1
    Case Lt(Art&,0) Or Gt(Art&,1): Return -1
    Case Lt(zStil&,0) Or Gt(zStil&,1): Return -1
    Case Equ(zStil&,1): zStil& = $06
    Declare erg$
    MED1&[CtrlNr&,0] = Control("Static","",Or($D0000120,zStil&),x&,y&,cx&,cy&,dHndl&,Add($a8000,CtrlNr&),0)  StaticUnterlage
    ASetParent(MED1&[CtrlNr&,0],dHndl&)

    IfNot (zStil& = 6)

        MED1&[CtrlNr&,1] = Control("Edit","",$50B000C4,0,0,cx&,cy&,MED1&[CtrlNr&,0],Add($a8000,CtrlNr&),0,$000200)  EditMultiline
        Case (Art& = 0): MED1&[CtrlNr&,1] = Create("MultiEdit",MED1&[CtrlNr&,0],Txt$,0,0,cx&,cy&)
        Case (Art& = 1): MED1&[CtrlNr&,1] = Create("RichEdit",MED1&[CtrlNr&,0],Txt$,0,0,cx&,cy&)

    EndIf

    Case Lt(MED1&[CtrlNr&,0],1) Or Lt(MED1&[CtrlNr&,1],1): Return -1
    SetActiveWindow(dHndl&)
    Return 0

EndProc

Proc KillMEDwStc

    Parameters CtrlMaxNr&

    WhileLoop 0,CtrlMaxNr&,1

        DestroyWindow(MED1&[&Loop,0])

    EndWhile

EndProc

Def gStcHandl(1) MED1&[&(1),0]
Def gMedHandl(1) MED1&[&(1),1]
**********************************************************************************************
**** Programm Start ****
Declare dlg1&,bt1&,bt2&,bt3&
WindowStyle 26538
Window 0,0-640,480
dlg1& = Create("Dialog",%HWnd,"Test- Fenster",60,60,640,480)  Quasi Dialog Fenster
Zuerst die Buttons und alle anderen Controls erstellen
bt1& = Create("Button",dlg1&,"Button 1",480, 60,120,22)
bt2& = Create("Button",dlg1&,"Button 2",480,100,120,22)
bt3& = Create("Button",dlg1&,"Button 3",480,140,120,22)
jetzt das Static- Control als Unterlage fürs MultiEdit (und nur für dieses)
es Trennt sozusagen das Edit vom Dialog und dessen Eigenschaften!
cMEDwStc(0,dlg1&,1,"Rich", 20, 20,400,420,0)
cMEDwStc(1,dlg1&,0,"Multi",460,180,162,160,0)
Sleep 1000
SetText gMedHandl(0),"Test 1"
Sleep 1000
SetText gMedHandl(1),"Test 2"
Sleep 1000
MessageBox("Test- Message","Achtung...",48)
SetActiveWindow(dlg1&)

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

    WaitInput

EndWhile

KillMEDwStc(1ss=s2>)
End

Salu

Michael...
 
Salu Michael...

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




GDL
¡Hola Christian y Michael,

mein Hauptproblem liegt en él,el Yo de Windows casi ni idea habe.Bis el bisschen Yo de Euch y Andreas a ahora en el Reihe bekam,Yo ni idea Yo el vorgefertigten Profanbefehle y el Messages kombinieren se,como el Profanbefehle sin la $Zahl eingegeben voluntad.Posesiones me en Prfellow el Stylefactory veces angesehen,sólo wo puede ser nachlesen lo que el Messages,el no de el Namen,oder sofortiger Aktion erkennbar son, bewirken.Mit el Messages es genauso,todos el en el Profano Ayuda no genau beschrieben son,woher puede ser se una anfängerverständliche Descripción besorgen.Wenn uno auch el Winhelp traducido,ha uno lediglich el Übersetzung vom engl.Fachchinesisch en el Alemán Fachchinesisch.
Wenn de Euch alguien una gutes Buch encima esta Zona weis,Por favor, teilt lo me con.El meisten Problemas(me gehts jedenfalls así) entstehen para Principiante siempre entonces,wenns con el Profaneigenen Befehlen no va y luego jede Menge otro Möglichkeiten hätte,aber con denen nichts anzufangen weis.
Darum kommen siempre mi unkonventionellen Fragen y hoffe,dass Yo mich dadurch no allzusehr blamiere ?Aber Yo möchte lo en el Reihe kriegen !

Mit freundlichen Grüßen
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
26.02.2005  
 




CB
¡Hola Georg!
Ist no así schlimm, wies aussieht. Aber oft una mühevoller y dornenreicher Weg dorthin. Das kannst Usted sólo genauso aprender como wir todos. Codes ansehen y analysieren, como otro algo lösen y luego modifizieren, ausprobieren, schauen, qué passiert. Experimentieren, experimentieren ...
Usted findest aber en el Profanhilfe viel Infos a Controls, schau mal bajo @Control después de. Auch div. Stile son hay para encontrar. Auch así lohnt se el Ausprobieren!
Hilfreich es auch el Abklappern el div. Homepages de jenen, el esta Weg ya gegangen son. Como gibts jede Menge Sourcecodes para Ausprobieren y Verwenden. Speziell hilfreich para Usted wäre zB. Pascals Homepage (API-Grundlagen-Kurs etc) o Andreas Miethe, el muy viele interessante Codes veröffentlicht ha (el meiste su muy bien dokumentiert), en sólo unos pocos Beispiele a nennen. El meisten el hier vertretenen Profaner haben en ihren Páginas viel Wissenswertes el Öffentlichkeit disponible gestellt. Yo habe de esta Páginas rund 200 MB freie Sourcecodes y Programas heruntergeladen, wo Yo en Bedarf suchen gehe, en no jedesmal Internet stöbern tener. Auch de Usted es una Programa en meiner Sammlung...

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




Michael
Dell
Zustimm, is oft muy mühsam pero son algunos gute Hilfen.

Mega- Tip1: [...] 
Stichwort: API_Hilfe

Mega- Tip2: [...] 
Stichwort: Controls.hlp

Información general encima Profano- Demos (nutze Yo oft): [...] 

Und el son längst no todos!

Ansonsten wühle Yo oft en Headern y Incluye auch de C++ y Masm32,
algo schwieriger aber auch muy hilfreich Es el MSDN.

Zum Glück es Profano viel leichter como otro Lenguajes y lo gibst sí el Comunidad.

Salu

Michael...
 
Salu Michael...

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



¡Hola Georg...

Nachfragen tu Yo auch y wissen tue Yo auch längst no alles. Nur wer no nachfragt blamiert se.

Was Controls angeht - como hilft me muy oft el WINDOWS.PH de Profano. Dort findest du bajo anderem el Konstanten para Fensterstyle.
Links posición el Symbolischen Namen y rechts el el Stil entsprechenden Zahlenkonstanten. In el symboklischen Namen kannst du Angaben darüber encontrar, qué el Stil tut. So producido WS_VISIBLE para Ejemplo una sichtbares Ventana. WS_ es esta para Windowstyle (para todos Arten de Controls), ES_ para Editstyle (para Editfelder), BS_ para Buttonstyle... Fensterstile kannst du locker addieren - ellos dürfen logischerweise bloß no doppelt vorkommen.

Außerdem hay como unos pocos geniale Ayuda Archivos a Windows API en el Homepage de Uwe Pascal Niemeyer. Wenn du el Sachen hay correcto verstanden hast - y el son bastante simplemente a verstehen - kannst du incluso con Ayuda el WIN32.HLP Fuente de Visual Basic, MASM oder C++ traducir y Sugerencias en deine eigenen Programas einbauen - y el sin überhaupt el Lingua a puede!

Yo weiß incluso no alles, y yo kann mich wohl más una Lehrling como una Profi nennen - pero yo weiß wo Yo nachschlagen kann, y el es wichtig...
 
27.02.2005  
 



Unterthema: Controls con Tabulatortaste ansteuern, Reihenfolge festlegen  [...]  producido.
 
25.04.2023  
 




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

9.889 Views

Untitledvor 0 min.
rafl19.08.2024
Thomas Zielinski28.06.2023
Paul Glatz22.06.2023
E.T.12.06.2023
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