Forum | | | | Detlef Tussing | allô allen Profaner`n
hab encore une Frage, chez dem zusammenkopieren de verschiedenen Programmen mach je maintenant 2 la fenêtre sur. je hätte mais volontiers qui ListBox im la fenêtre 1, et ne...aucune weiters la fenêtre. KompilierenMarqueSéparation1. Fenster
DEF GETSYSCOLOR(1) !USER32,GetSysColor
WINDOWSTYLE 31 47
WINDOWTITLE Test
WINDOW SUB(DIV(%MAXX,2),DIV(740,2)),SUB(DIV(%MAXY,2),DIV(500,2))-660,500
SETTRUECOLOR 1
CLS GETSYSCOLOR(1)15
SETDIALOGFONT 1
2.Fenster im 1. Fenster
dlg% = create(Dialog,%Hwnd,Test2,340,200,250,100)
CBox& = @Control(ComboBox,,$5421034E,10,10,200,200,Dlg%,2000,%hinstance)
End%=@createbutton(Dlg%,Auswahl,80,40,80,32)
Addfiles *.DAT
MoveListToChoice(CBox&
et là je aussi curieux suis, wüste je gern quoi cela $5421034E im 2. la fenêtre bedeutet. j'ai cela komplette Programme sur une anderen calculateur kopiert, voilà qui la fenêtre à einer andern Stelle comme chez mir, hängt cela avec qui Einstellung qui Grafikkarte zusammen? |
| | | | |
| | Jac de Lad | Um qui Listbox ins erste la fenêtre trop quetschen müsstest du comme übergeordnetes Handle %hWnd angeben (ou bien plan cela la fenêtre wohin vous hin soll).
$5421034E ist qui Stil. qui mets sich aus verschiedenen Werten (Attributen) zusammen, näheres en supplément dans qui Aider sous Contrôle(). |
| | | Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 09.05.2007 ▲ |
| |
| | Rolf Koch | Hi Detlef,
bevor wir aider peut, bitten wir toujours une kompletten lauffähigen Code trop posten. Frage 1: Pourquoi prends Du toujours Getsyscolor(1)? voilà oui alles noir (chez mir ist Windownormal eingestellt) je pour Einstellung des Users. Frage 2: quelle Listbox? dans Deinem Code vois je aucun Listbox. ou bien meinst Du qui Combobox - sous Profan comme Choicebox bekannt. si qui sur cela erste la fenêtre soll, ensuite tausche doch simple Dlg% vers %hwnd aus. cela $xxxxxxx ist qui Stilbeschreibung des Controls quoi erstellt wird. Frage 3: quoi meinst Du avec anderer Stelle? qui Koordinaten des Hauptfensters sowie des Dialoges sommes eingentlich festgelegt avec Deinen Angaben. cela Hauptfenster vois je, wird cependant Bildschirmmittig ausgerichtet. alors sollte aussi cela Hauptfenster sur beiden Rechnern mittig dargestellt volonté.
Nachtrag: cela mittige ist pas mittig hab je grad gesehen, car es volonté fixe Werte pris. et cet sommes chez verschiedenen Auflösungen %maxx et %maxy arrêt verschieden. |
| | | | |
| | Detlef Tussing | Comme je le disais, habe aus vielen Prog`s une gemacht. là je encore droite unerfahren suis, weis je encore pas sur jeden Befehl bescheid. tout autor peut manche Befehle unsinnig ou bien wiedersprüchlich son. Doch cela prog fonctionne. |
| | | | |
| | Detlef Tussing | Dank eurer Aider hab je cela avec den 2 Windows geschafft,glaube aussi cela cela Problem avec dem 2. calculateur gelöst ist. comment nehm je MAXX et MAXY wieder raus ? Brauch je GETSYSCOLOR überhaubt um une blauen Hintergrund trop avons? comment peux je chez qui Passwortabfrage avec ENTER anstelle cela Button Ok Vous pouvez plus venons? KompilierenMarqueSéparation $P+
$H Windows.ph
Declare box1&, box2&,box3&,box4&,box5&,box6&,text1&,text2&,text3&,text4&,text5&,text6&,datname$,lesen%,name$
Declare relais1$,Relais2$,karte1%,n1%,n2%,Speicher%,ende%,schluss%,datum1$,zeit$
declare von$,bis$,text7&,text0&,Wähle$,cbox&,dlg%,end%,von%,bis%,text01&,n3$,x1%,x2%,xy%
declare exit&,e%,a$
declare edit&,vorgabe$
DEF GETSYSCOLOR(1) !USER32,GetSysColor
WINDOWSTYLE 31 47
WINDOWTITLE Apex Elektronik GmbH Grevenbroich Tel. 02181-24040
WINDOW SUB(DIV(%MAXX,2),DIV(740,2)),SUB(DIV(%MAXY,2),DIV(500,2))-400,150
SETTRUECOLOR 1
CLS GETSYSCOLOR(1)15
SETDIALOGFONT 1
exit& = CreateButton(%HWnd,Ok,150,50,100,35)
vorgabe$ =
edit& = CONTROL(Edit,vorgabe$,$54810020,150,20,100,25,%HWnd,0,%HInstance,$0200)
SetFocus(edit&)
whilenot e%
WaitInput
if GetFocus(exit&)
e% = 1
endif
wend
A$ = gettext$(edit&)
if a$=qwert
destroywindow(edit&)
destroywindow(exit&)
boxaufbau
else
end
endif
boxaufbau
proc lesen
if fileexists(name$) =0
speichern
return
endif
Assign #1,name$
reset #1
input #1,datum1$
input #1,zeit$
input #1,relais1$
input #1,karte1%
input #1,n2% 0=licht aus
input #1,von%
input #1,bis%
close #1
if n2% = 1
n3$=ein
else
N3$=aus
endif
n1%=relais1$
von$=von%
bis$=bis%
x1%=von%-15 wichtig fĂĽr die Anzeige in der Choicebox siehe Zeile 36 & 37
x2%=bis%-5
@sendmessage(Box1&,$14E,n1%,0,0 ) 0,0 = erster eintrag, 1,0 = zweiter eintrag usw.
@sendmessage(Box2&,$14E,n2%,1,0)
@sendmessage(Box3&,$14E,x1%,0,0)
@sendmessage(Box4&,$14E,x2%,0,0)
settext text5&,Add$(Fahrzeug: ,name$)
settext text3&,add$(von: ,von$)
settext text1&,add$(Tor: ,relais1$)
settext text2&,add$(Licht : ,n3$)
settext text4&,add$(bis: ,bis$)
If n2%=1
showwindow(text3&,1)
showwindow(box3&,1)
showwindow(text4&,1)
showwindow(box4&,1)
showwindow(text6&,1)
showwindow(text7&,1)
showwindow(speicher%,1)
showwindow(schluss%,1)
elseif n2%=0
showwindow(text3&,0)
showwindow(box3&,0)
showwindow(text4&,0)
showwindow(box4&,0)
showwindow(text6&,0)
showwindow(text7&,0)
showwindow(speicher%,1)
showwindow(schluss%,1)
endif
SETFOCUS(%HWND)
endproc
proc Boxaufbau
DEF GETSYSCOLOR(1) !USER32,GetSysColor
WINDOWSTYLE 31 47
WINDOWTITLE Apex Elektronik GmbH Grevenbroich Tel. 02181-24040
WINDOW SUB(DIV(%MAXX,2),DIV(700,2)),SUB(DIV(%MAXY,2),DIV(500,2))-700,400
SETTRUECOLOR 1
CLS GETSYSCOLOR(1)15
SETDIALOGFONT 1
CBox& = @Control(ComboBox,,$5421034E,270,70,100,200,%Hwnd,2000,%hinstance)
End%=@createbutton(%Hwnd,Auswahl,280,116,80,20)
Addfiles *.DAT
MoveListToChoice(CBox&)
@Sendmessage(CBox&,$14E,0,0)
name$=@gettext$(cbox&)
text0&=createtext(%Hwnd,Feuerwehr Grevenbroich,240,30,170,20)
text1&=Createtext(%Hwnd,Tor:,200,253,50,20)
showwindow(text1&,0)
text2&=Createtext(%Hwnd,Licht:,360,253,70,20)
showwindow(text2&,0)
text5&=Createtext(%Hwnd,Fahrzeug,35,253,153,20)
showwindow(text5&,0)
text3&=Createtext(%Hwnd,von:,200,330,70,20)
showwindow(text3&,0)
text4&=Createtext(%Hwnd,bis: ,360,330,50,20)
showwindow(text4&,0)
text6&=createtext(%Hwnd,Hallenbeleuchtung,35,330,130,20)
showwindow(text6&,0)
text7&=createtext(%Hwnd,einschalten,520,330,80,20)
showwindow(text7&,0)
box1&=Create(choicebox,%Hwnd,0,280,250,50,500)
showwindow(box1&,0)
box2&=Create(choicebox,%Hwnd,0,450,250,50,500)
showwindow(box2&,0)
box3&=Create(choicebox,%Hwnd,0,280,327,50,500)
showwindow(box3&,0)
box4&=Create(choicebox,%Hwnd,0,450,327,50,500)
showwindow(box4&,0)
Speicher%=@Create(DefButton,%Hwnd,Speichern und weiter,115,400,155,40)
showwindow(speicher%,0)
schluss%=@Create(DefButton,%Hwnd,Speichern und Ende,345,400,155,40)
showwindow(schluss%,0)
AddChoice(box1&,0)
AddChoice(box1&,1) Tor
AddChoice(box1&,2)
AddChoice(box1&,3)
AddChoice(box1&,4)
AddChoice(box1&,5)
AddChoice(box1&,6)
AddChoice(box1&,7)
AddChoice(box1&,8)
AddChoice(box1&,9)
AddChoice(box1&,10)
AddChoice(box2&,aus)Licht aus
AddChoice(box2&,ein)Licht ein
AddChoice(box3&,15) von
AddChoice(box3&,16)
AddChoice(box3&,17)
AddChoice(box3&,18)
AddChoice(box3&,19)
AddChoice(box4&,5)
AddChoice(box4&,6) bis
AddChoice(box4&,7)
AddChoice(box4&,8)
AddChoice(box4&,9)
@sendmessage(Box1&,$14E,n1%,0,0 ) 0,0 = erster eintrag, 1,0 = zweiter eintrag usw.
@sendmessage(Box2&,$14E,n2%,0,0)
@sendmessage(Box3&,$14E,von$,0,0)
@sendmessage(Box4&,$14E,bis%,0,0)
SETFOCUS(%HWND)
WHILENOT ENDE%
if %key = 255
elseif getfocus(box1&)Relais1 Tor
relais1$=gettext$(box1&)
settext text1&,add$(Tor: ,relais1$)
elseif GETFOCUS(box2&)Relais2 Licht
relais2$=gettext$(box2&)
settext text2&,add$(Licht : ,gettext$(box2&))
If relais2$=ein
showwindow(text3&,1)
showwindow(box3&,1)
showwindow(text4&,1)
showwindow(box4&,1)
showwindow(text6&,1)
showwindow(text7&,1)
elseif GETFOCUS(box2&)Relais2
showwindow(text3&,0)
showwindow(box3&,0)
showwindow(text4&,0)
showwindow(box4&,0)
showwindow(text6&,0)
showwindow(text7&,0)
endif
elseif GETFOCUS(box3&)Zeit1
von$=gettext$(box3&)
settext text3&,add$(von: ,gettext$(box3&))
elseif getfocus(box4&)Zeit2
bis$=gettext$(box4&)
settext text4&,add$(bis: ,gettext$(box4&))
elseif getfocus(end%)Fahrzeug
name$=@gettext$(cbox&)
lesen
showwindow(box1&,1)
showwindow(text1&,1)
showwindow(box2&,1)
showwindow(text2&,1)
showwindow(text5&,1)
elseif getfocus(speicher%)Speichern und weiter
speichern
elseif getfocus(schluss%)Speichern und Ende
speichern
ende%=1
ENDIF
EndWhile
endproc
close #1
end
Proc Speichern
if relais2$=ein
n2%=1
elseif relais2$=aus
n2%=0
endif
if relais1$<=7
karte1%=1
else
karte1%=2
endif
if relais1$ =
relais1$=0
endif
von%=von$
bis%=bis$
Assign #1,name$
rewrite #1
Print #1,date$(3)
print #1,time$(0)
print #1,relais1$
print #1,karte1%
print #1,n2%
print #/span>,de%
imprimer #1,jusqu'à%
close #1
endproc
|
| | | | |
| | Dieter Zornow | tu peux aussi cela la fenêtre dans chacun la couleur choisir indem du z. B. CLS RGB(255,0,0) écris so peux du chacun Farbnuance einstellen. si du cela la fenêtre zentrieren veux ist maxx et maxY déjà richtig tu as dans deiner Formel WINDOW SUB(DIV(%MAXX,2),DIV(740,2)),SUB(DIV(%MAXY,2),DIV(500,2))-660,500 une faute muss appeler WINDOW SUB(DIV(%MAXX,2),DIV(740,2)),SUB(DIV(%MAXY,2),DIV(500,2))-740,500 la valeur 740 den du vorne dividierst muss naturellement aussi ensuite hinten dans qui Taille angeben sonst venez cela la fenêtre pas dans qui Mitte, absolute Positionen gibst du simple z.B avec WINDOW 10,10 - 740,500 à
Viele Grüße aus Bangkok
Dieter |
| | | Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 09.05.2007 ▲ |
| |
| | | @allô Detlef KompilierenMarqueSéparation la fenêtre peux avec deux Massangaben toujours zentriert angezeigt volonté. avec USEBRUSH et RECTANGLE peux Du chacun la couleur pour den Hintergrund einstellen. GETSYSCOLOR ist sur 21 (glaube je) Systemfarben festgelegt |
| | | | |
| | Frank Abbing | Hehe, CLS ist dem Horst wohl justement entfallen... |
| | | | |
| | | @Frank Wofür CLS ? - cela la fenêtre wird avec WINDOW x,y-x2,y1 erstellt
CLS erstellt toujours un la fenêtre dessus à gauche avec qui Grösse 640X480 - cet Grösse habe je dans mon Code seulement comme Beispiel angegeben. Beide Werte peut pour Gutdünken geändert volonté. je erstelle sogar mon Dialogfenster avec diesem Code. seulement muss ici chez KompilierenMarqueSéparation anstelle des Bindestriches naturellement un Komma stehen. Gelle |
| | | | |
| | Detlef Tussing |
merci, avez mir très geholfen.
schaut s'il te plaît encore la fois dans mon letzten Anfrage rein ,habe vous Editiert währen son déjà qui répondre gegeben avez |
| | | | |
| | | @Detlef
Habe Deinen Text courir laisser. dans qui Anlage vois Du den Erfolg. avec Klick sur OK bendet sich cela Programme |
| | | | |
| | Detlef Tussing | pas seulement avec klick sur den Button mais aussi avec Enter soll es finissez volonté |
| | | | |
|
répondreOptions du sujet | 1.553 Views |
Themeninformationencet Thema hat 7 participant: |