Forum | | | | - 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 |
| | | | |
| | | | | - 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éparationtextfeld&=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 |
| | | | |
| | 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 ▲ |
| |
| | | | | | | |
| | 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 |
| | | | |
| | 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 |
| | | | |
| | | | - 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 |
| | | | |
| | 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 |
| | | | |
| | 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... |
| | | | |
| | Unterthema: Controls avec Tabulatortaste contrôle, Reihenfolge festlegen [...] erzeugt. |
| | | | |
|
répondreOptions du sujet | 9.864 Views |
Themeninformationencet Thema hat 6 participant: |