Français
Forum

Tab bouton sur Dialogfenster

 
- page 1 -



GDL
Hi Profaner,

comment peux je es anstellen, cela un Multiedit ou bien Richedit aussi sur einem Dialogfenster so reagiert comment sur dem Hauptfenster ?D.h. beim Drücken qui Tab bouton soll eingerückt volonté et pas cela Multiedit den Concentrer perdre.

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



 
- page 1 -



GDL
allô Michael,

puh,bekam déjà une Schrecken.
Baute mon ursprüngliches Programme um,seulement qui Sauver et Run Funktionen gingen pas plus.

Kam ensuite derrière elle,cela Windowseigene Dialoge (Sauver,Messagebox usw.),si vous im Bereich vom Static liegen,derrière elle invisible rester.

Tricolore ensuite so gelöst.
KompilierenMarqueSéparation
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&)

Habe wieder einiges dazugelernt.

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




Michael
Dell
Salut,

la difficulté beim Platzieren qui Controls ensteht par den Staticstil es handelt sich ici pas um un Child mais um un Popup. cela bedeutet: (x,y = 0,0) est linker supérieure Bildschirmrand, pas linke obere coin des übergeordneten Fensters.

Hab cela ganze révisée, so cela es avec einem einzigen Befehl allez.

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

avec SetParent wird (x,y) korrekt gesetzt (Dank iF):
KompilierenMarqueSéparation
**** 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/'>Fin

Salu

Michael...
 
Salu Michael...

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



et pourquoi prends pas simple nen
KompilierenMarqueSéparation
DEF ASetParent(2) ! "USER32","SetParent","%%","%"
>

?

Salve, iF
 
26.02.2005  
 




Michael
Dell
allô iF, den kannte je encore pas

merci

Michael...
 
Salu Michael...

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



Achso lol - je hab gegrübelt si qui nich Nachteile mitsich bringt - aba so ists oui jut.

Salve, iF
 
26.02.2005  
 




CB
[quote-part:a59489485d=Georg Dankesreiter]Kam ensuite derrière elle,cela Windowseigene Dialoge (Sauver,Messagebox usw.),si vous im Bereich vom Static liegen,derrière elle invisible rester.
[/quote-part:a59489485d]
allô Georg,
peut-être hilft Dir aussi un erweiterter Stil pour Messageboxen: (Auszug aus qui Profan-Aider)

Werte pour FENSTERART:
0 - normales la fenêtre (~MB_APPLMODAL)
4096 - großes, pas verschiebbares faute-la fenêtre (~MB_SYSTEMMODAL)
8192- comment 0, cependant pour unsichtbare la fenêtre (~MB_TASKMODAL)
16384- fügt une Aider-Button hinzu (~MB_HELP)
65536- qui MessageBox wird dans den Vordergrund gesetzt (~MB_SETFOREGROUND)
262144- qui MessageBox wird dans den Vordergrund gesetzt et bleibt là (~MB_TOPMOST)
524288- Text rechtsbündig ausrichten (~MB_RIGHT)

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



 
- page 2 -



Michael
Dell
Salut,

cela Problem avec den MessageBoxen lag am Static- Stil WS_EX_TOPMOST, dank SetParent peux puis maintenant verzichtet volonté.
KompilierenMarqueSéparation
**** 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>)
Fin

Salu

Michael...
 
Salu Michael...

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




GDL
allô Christian et Michael,

mon Hauptproblem liegt y,le moi de Windows si bien comment je n'en sais rien habe.jusqu'à sur cela bisschen quoi je de Euch et Andreas jusqu'à maintenant sur qui Reihe bekam,habe je je n'en sais rien comment je qui vorgefertigten Profanbefehle et qui Messages kombinieren soll,là qui Profanbefehle sans qui $numéro eingegeben volonté.Habe mir dans Prfellow qui Stylefactory la fois angesehen,seulement wohin peux on nachlesen quoi qui Messages,qui pas aus dem Namen,ou bien sofortiger Aktion erkennbar sommes, bewirken.avec den Messages ist es genauso,alle qui dans qui Profan Aider pas oui c'est ca beschrieben sommes,woher peux on sich une anfängerverständliche Beschreibung besorgen.si on aussi qui Winhelp traduit,hat on lediglich qui Übersetzung vom engl.Fachchinesisch ins allemand Fachchinesisch.
si de Euch quelqu'un un gutes livre sur cette Bereich weis,s'il te plaît teilt es mir avec.qui meisten Probleme(mir gehts jedenfalls so) entstehen pour Débutant toujours ensuite,wenns avec den Profaneigenen Befehlen pas allez et ensuite chacun la quantité autre Opportunités hätte,mais avec denen rien anzufangen weis.
tout autor venons toujours mon unkonventionellen Fragen et hoffe,dass je mich dadurch pas allzusehr blamiere ?mais je voudrais es sur qui Reihe kriegen !

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




CB
allô Georg!
Ist pas so grave, wies aussieht. mais souvent un mühevoller et dornenreicher Weg dorthin. cela peux Du seulement genauso apprendre comment wir alle. Codes regarder et analysieren, comment autre quelque chose lösen et ensuite modifizieren, ausprobieren, regarder, quoi passiert. Experimentieren, experimentieren ...
Du findest mais dans qui Profanhilfe viel Infos trop Controls, exposition la fois sous @Contrôle pour. aussi div. Stile sommes là pour trouver. aussi avec cela lohnt sich cela Ausprobieren!
Hilfreich ist aussi cela Abklappern qui div. Homepages de jenen, qui cette Weg déjà gegangen sommes. là gibts chacun la quantité Sourcecodes zum Ausprobieren et Verwenden. Speziell hilfreich pour toi wäre zB. Pascals Page d'accueil (API-Grundlagen-Kurs etc) ou bien qui Andreas Miethe, qui très viele interessante Codes veröffentlicht hat (cela meiste en très bien dokumentiert), um seulement un paire Beispiele trop appeler. qui meisten qui ici vertretenen Profaner avons sur ihren Seiten viel Wissenswertes qui Öffentlichkeit zur Disposition gestellt. j'ai de cette Seiten rund 200 MB freie Sourcecodes et Programme heruntergeladen, wohin je chez besoin chercher vais, um pas chaque fois im Internet stöbern trop doit. aussi de Dir est un Programme dans meiner recueil...

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




Michael
Dell
Zustimm, is souvent très mühsam mais il y a quelques gute Hilfen.

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

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

Vue d'ensemble sur Profan- Demos (nutze je souvent): [...] 

et ce sont jadis pas alle!

Ansonsten wühle je souvent dans Headern et Comprend aussi de C++ et Masm32,
quelque chose schwieriger mais aussi très hilfreich ist qui MSDN.

Zum Glück ist Profan viel leichter comme autre Sprachen et es gibst oui qui Community.

Salu

Michael...
 
Salu Michael...

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



allô Georg...

informer tu je aussi et savons tue je aussi jadis pas alles. seulement qui pas nachfragt blamiert sich.

quoi Controls angeht - là hilft mir très souvent qui WINDOWS.PH de Profan. là findest du sous anderem qui Konstanten pour Fensterstyle.
à gauche stehen qui Symbolischen Namen et à droite qui dem Stil entsprechenden Zahlenkonstanten. dans den symboklischen Namen peux du Angaben par-dessus trouver, quoi qui Stil tut. So erzeugt WS_VISIBLE zum Beispiel un sichtbares la fenêtre. WS_ steht dabei pour Windowstyle (pour alle Arten de Controls), ES_ pour Editstyle (pour Editfelder), BS_ pour Buttonstyle... Fensterstile peux du locker addieren - vous dürfen logischerweise bloß pas doppelt vorkommen.

Aussi gibt es là un paire geniale Aider Fichiers zur Windows API sur qui Page d'accueil de Uwe Pascal Niemeyer. si du qui Sachen là richtig verstanden la hâte - et qui sommes droite simple trop comprendre - peux du sogar avec Aider qui WIN32.HLP Source aus Visual Basic, MASM ou bien C++ traduire et Anregungen dans deine eigenen Programme einbauen - et cela sans überhaupt qui Discours trop peut!

je sais selbst pas alles, et je peux mich wohl plutôt une apprenti comme une Profi appeler - mais je sais wohin je nachschlagen peux, et c'est important...
 
27.02.2005  
 



Unterthema: Controls avec Tabulatortaste contrôle, Reihenfolge festlegen  [...]  erzeugt.
 
25.04.2023  
 




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

9.864 Views

Untitledvor 0 min.
rafl19.08.2024
Thomas Zielinski28.06.2023
Paul Glatz22.06.2023
E.T.12.06.2023
plus...

Themeninformationen



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