Forum | | | | Christian Eichler | Ich hab jetzt letztens ein kleines Problem mit der CreateChoiceBox bekommen :
In diesem (kleinen) Beispiel funktionniert sie: KompilierenMarkierenSeparierenDef @GetSysColor(1) !user32.dll,GetSysColor
declare hwnd%
SetTrueColor 1
WindowStyle 31
WindowTitle möp.
let hwnd%=@CreateDialog(%HWND,määh,(%maxX/2-320),(%maxY/2-240),640,480)Window
CLS GetSysColor(15)
UseFont MS Sans Serif,10,7,0,0,0
SetDialogFont 1
WindowStyle 16
declare test&, test$
let test$=Jeden Pixel berechnen
let test&=@CreateChoiceBox(HWND%,,0,0,250,100)
@AddChoice(test&,Jeden Pixel berechnen)
@AddChoice(test&,Jeden 2.Pixel berechnen)
@AddChoice(test&,Jeden 3.Pixel berechnen)
@AddChoice(test&,Jeden 4.Pixel berechnen)
@AddChoice(test&,Jeden 5.Pixel berechnen)
@SendMessage(test&,$014E,@SendMessage(test&,$014C,-1,(@Addr(test$)+1)),0)
waitkey
In diesem anderen (nicht so ganz kurzen) Beispiel werden allerdings keine Einträge angezeigt : (eigentlich ist nur der 1. Teil interessant ^^) KompilierenMarkierenSeparieren
proc Hinzufugen
SetAutoPaint 1
Let GT$[1]=1
Declare Hinzufugen%, HinzufugenA%, HinzufugenB%, Graph1%, Choice%, Summanden%, GL%, FarbButton%, TypButton1%, AndernButton1%, TypButton2%, AndernButton2%
Declare Graph1%, Graph2%, GenauigkeitsAuswahl&, StartAuswahl$
Declare GraphLadenN1%, GraphLadenN2%, GraphLadenN3%, GraphLadenN4%, GraphLadenN5%, GraphLadenN6%, GraphLadenN7%, GraphLadenN8%, GraphLadenN9%
Declare Belegt1$, Belegt2$, Belegt3$, Belegt4$, Belegt5$, Belegt6$, Belegt7$, Belegt8$, Belegt9$, Name$, LadenDatei%, LadenIntern%
Let Belegt1$=(+S$[35]+)
Let Belegt2$=(+S$[35]+)
Let Belegt3$=(+S$[35]+)
Let Belegt4$=(+S$[35]+)
Let Belegt5$=(+S$[35]+)
Let Belegt6$=(+S$[35]+)
Let Belegt7$=(+S$[35]+)
Let Belegt8$=(+S$[35]+)
Let Belegt9$=(+S$[35]+)
CaseNot ReadIni$(Settings$,GrX,G1)=0.000000:Let Belegt1$=(+S$[36]+ : +ReadIni$(Settings$,GrX,G1N)+ )
CaseNot ReadIni$(Settings$,GrX,G2)=0.000000:Let Belegt2$=(+S$[36]+ : +ReadIni$(Settings$,GrX,G2N)+ )
CaseNot ReadIni$(Settings$,GrX,G3)=0.000000:Let Belegt3$=(+S$[36]+ : +ReadIni$(Settings$,GrX,G3N)+ )
CaseNot ReadIni$(Settings$,GrX,G4)=0.000000:Let Belegt4$=(+S$[36]+ : +ReadIni$(Settings$,GrX,G4N)+ )
CaseNot ReadIni$(Settings$,GrX,G5)=0.000000:Let Belegt5$=(+S$[36]+ : +ReadIni$(Settings$,GrX,G5N)+ )
CaseNot ReadIni$(Settings$,GrX,G6)=0.000000:Let Belegt6$=(+S$[36]+ : +ReadIni$(Settings$,GrX,G6N)+ )
CaseNot ReadIni$(Settings$,GrX,G7)=0.000000:Let Belegt7$=(+S$[36]+ : +ReadIni$(Settings$,GrX,G7N)+ )
CaseNot ReadIni$(Settings$,GrX,G8)=0.000000:Let Belegt8$=(+S$[36]+ : +ReadIni$(Settings$,GrX,G8N)+ )
CaseNot ReadIni$(Settings$,GrX,G9)=0.000000:Let Belegt9$=(+S$[36]+ : +ReadIni$(Settings$,GrX,G9N)+ )
WindowStyle 16
Let Hinzufugen%=@CreateWindow(%HWND,S$[37],(%maxx/2-190),(%maxy/2-120),380,213+cycaption&)
@CreateGroupBox(Hinzufugen%,Farbe,35,15,120,155)
Let FarbButton%=@CreateButton(Hinzufugen%,Farbe ändern,45,143,100,20)
@Control(Static,,$50001000,45,30,100,100,Hinzufugen%,1000,%Hinstance)
FarbAnzeige
Let TypButton1%=@CreateButton(Hinzufugen%,S$[42],170,30,150,25)
Let TypButton2%=@CreateButton(Hinzufugen%,Deaktiviert,170,90,150,25)
Let LadenDatei%=@CreateButton(Hinzufugen%,S$[40],35,217,70,20)
Let LadenIntern%=@CreateButton(Hinzufugen%,S$[41],120,190,70,20)
Let HinzufugenB%=@CreateButton(Hinzufugen%,S$[38],205,190,70,20)
Let HinzufugenA%=@CreateButton(Hinzufugen%,S$[39],290,190,70,20)
Let GenauigkeitsAuswahl&=@CreateChoiceBox(Hinzufugen%,,170,135,150,15)
Let StartAuswahl$=Jeden Pixel berechnen
@AddChoice(GenauigkeitsAuswahl&,Jeden Pixel berechnen)
@AddChoice(GenauigkeitsAuswahl&,Jeden 2.Pixel berechnen)
@AddChoice(GenauigkeitsAuswahl&,Jeden 3.Pixel berechnen)
@AddChoice(GenauigkeitsAuswahl&,Jeden 4.Pixel berechnen)
@AddChoice(GenauigkeitsAuswahl&,Jeden 5.Pixel berechnen)
@SendMessage(GenauigkeitsAuswahl&,$014E,@SendMessage(GenauigkeitsAuswahl&,$014C,-1,(@Addr(StartAuswahl$)+1)),0)
HinzufugenBild
Let Graph1%=1
Let Graph2%=1
WhileNot Ende%
WaitInput
Let wmPaint%=%wmPaint
If wmPaint%
FarbAnzeige
HinzufugenBild
EndIf
If @And(@GetFocus(FarbButton%),@Not(wmPaint%))
FarbAuswahl
FarbAnzeige
EndIf
If @GetFocus(TypButton1%)
FensterPosition %HWND
Mausposition
CreateMenu
AppendMenu 801,S$[42]
AppendMenu 802,S$[43]
AppendMenu 803,S$[44]
AppendMenu 804,S$[45]
AppendMenu 805,S$[46]
AppendMenu 806,S$[47]
AppendMenu 807,S$[48]
AppendMenu 808,S$[66]
AppendMenu 809,S$[123]
AppendMenu 810,S$[124]
AppendMenu 811,S$[125]
TrackMenu ((MausX&-FensterX1&)-30),((MausY&-FensterY1&)-30)
If @MenuItem(801)
SetText TypButton1%,S$[42]
Let Graph1%=1
ElseIf @MenuItem(802)
SetText TypButton1%,S$[43]
Let Graph1%=2
ElseIf @MenuItem(803)
SetText TypButton1%,S$[44]
Let Graph1%=3
ElseIf @MenuItem(804)
SetText TypButton1%,S$[45]
Let Graph1%=4
ElseIf @MenuItem(805)
SetText TypButton1%,S$[46]
Let Graph1%=5
ElseIf @MenuItem(806)
SetText TypButton1%,S$[47]
Let Graph1%=6
ElseIf @MenuItem(807)
SetText TypButton1%,S$[48]
Let Graph1%=7
ElseIf @MenuItem(808)
SetText TypButton1%,S$[66]
Let Graph1%=8
ElseIf @MenuItem(809)
SetText TypButton1%,S$[123]
Let Graph1%=9
ElseIf @MenuItem(810)
SetText TypButton1%,S$[124]
Let Graph1%=10
ElseIf @MenuItem(811)
SetText TypButton1%,S$[125]
Let Graph1%=11
EndIf
EndIf
If @GetFocus(TypButton2%)
FensterPosition %HWND
Mausposition
CreateMenu
AppendMenu 801,S$[42]
AppendMenu 802,S$[43]
AppendMenu 803,S$[44]
AppendMenu 804,S$[45]
AppendMenu 805,S$[46]
AppendMenu 806,S$[47]
AppendMenu 807,S$[48]
AppendMenu 808,S$[66]
AppendMenu 809,S$[123]
AppendMenu 810,S$[124]
AppendMenu 811,S$[125]
AppendMenu 812,Deaktiviert
TrackMenu ((MausX&-FensterX1&)-30),((MausY&-FensterY1&)-30)
If @MenuItem(801)
SetText TypButton2%,S$[42]
Let Graph2%=1
Let GT$[1]=2
ElseIf @MenuItem(802)
SetText TypButton2%,S$[43]
Let Graph2%=2
Let GT$[1]=2
ElseIf @MenuItem(803)
SetText TypButton2%,S$[44]
Let Graph2%=3
Let GT$[1]=2
ElseIf @MenuItem(804)
SetText TypButton2%,S$[45]
Let Graph2%=4
Let GT$[1]=2
ElseIf @MenuItem(805)
SetText TypButton2%,S$[46]
Let Graph2%=5
Let GT$[1]=2
ElseIf @MenuItem(806)
SetText TypButton2%,S$[47]
Let Graph2%=6
Let GT$[1]=2
ElseIf @MenuItem(807)
SetText TypButton2%,S$[48]
Let Graph2%=7
Let GT$[1]=2
ElseIf @MenuItem(808)
SetText TypButton2%,S$[66]
Let Graph2%=8
Let GT$[1]=2
ElseIf @MenuItem(809)
SetText TypButton2%,S$[123]
Let Graph2%=9
Let GT$[1]=2
ElseIf @MenuItem(810)
SetText TypButton2%,S$[124]
Let Graph2%=10
Let GT$[1]=2
ElseIf @MenuItem(811)
SetText TypButton2%,S$[125]
Let Graph2%=11
Let GT$[1]=2
ElseIf @MenuItem(812)
SetText TypButton2%,Deaktiviert
Let GT$[1]=1
EndIf
EndIf
Case @GetFocus(HinzufugenA%):Let Ende%=1
If @GetFocus(LadenDatei%)
@DestroyWindow(Hinzufugen%)
Declare LD$
Let LD$=@LoadFile$(S$[8],S$[51]+ (*.GrS)|*.GrS)
IfNot LD$=
If ReadIni$(LD$,Typ,Code)=0011011000110100001101100011000100110111001100000011011000111001001101110110000100110111011000010011011000110001001101100011011000110111001100100011011000110101001101110011001100110111001100110011011000110001
If ReadIni$(LD$,Typ,Version)=GrS0.6
Graph ReadIni$(LD$,GrS,G), ReadIni$(LD$,GrS,G1), ReadIni$(LD$,GrS,G2), ReadIni$(LD$,GrS,G3), ReadIni$(LD$,GrS,G4)
ElseIf ReadIni$(LD$,Typ,Version)=S 0.65 beta
Let Temp$[1]=ReadIni$(LD$,GrS,G)
Let Temp$[2]=ReadIni$(LD$,GrS,G1)
Let Temp$[3]=ReadIni$(LD$,GrS,G2)
Let Temp$[4]=ReadIni$(LD$,GrS,G3)
Let Temp$[5]=ReadIni$(LD$,GrS,G4)
Let Temp$[6]=ReadIni$(LD$,GrS,G5)
Let Temp$[7]=ReadIni$(LD$,GrS,G6)
Let Temp$[8]=ReadIni$(LD$,GrS,G7)
Let Temp$[9]=ReadIni$(LD$,GrS,G8)
Let Temp$[10]=ReadIni$(LD$,GrS,G9)
Let Temp$[11]=ReadIni$(LD$,GrS,G10)
Let Temp$[12]=ReadIni$(LD$,GrS,G11)
Let Temp$[13]=ReadIni$(LD$,GrS,G12)
Let Temp$[14]=ReadIni$(LD$,GrS,G13)
Graph Temp$[1], Temp$[2], Temp$[3], Temp$[4], Temp$[5], Temp$[6], Temp$[7], Temp$[8], Temp$[9], Temp$[10], Temp$[11], Temp$[12], Temp$[13], Temp$[14]
EndIf
Else
MessageBox(S$[33],S$[4],16)
EndIf
Else
MessageBox(S$[33],S$[4],16)
EndIf
Let Ende%=1
EndIf
If @GetFocus(LadenIntern%)
Let Graph1%=-1
@SetFocus(HinzufugenB%)
EndIf
If @GetFocus(HinzufugenB%)
@DestroyWindow(Hinzufugen%)
Let Hinzufugen%=@CreateWindow(%HWND,S$[49],(%maxx/2-190),(%maxy/2-120),380,213+cycaption&)
Let HinzufugenB%=@CreateButton(Hinzufugen%,S$[50],200,190,75,20)
Let HinzufugenA%=@CreateButton(Hinzufugen%,S$[39],290,190,75,20)
HinzufugenBild
If Graph1%=-1
Let GraphLadenN1%=@CreateRadioButton(Hinzufugen%,Nr. 1 +Belegt1$,50,20,290,17)
Let GraphLadenN2%=@CreateRadioButton(Hinzufugen%,Nr. 2 +Belegt2$,50,35,290,17)
Let GraphLadenN3%=@CreateRadioButton(Hinzufugen%,Nr. 3 +Belegt3$,50,50,290,17)
Let GraphLadenN4%=@CreateRadioButton(Hinzufugen%,Nr. 4 +Belegt4$,50,65,290,17)
Let GraphLadenN5%=@CreateRadioButton(Hinzufugen%,Nr. 5 +Belegt5$,50,80,290,17)
Let GraphLadenN6%=@CreateRadioButton(Hinzufugen%,Nr. 6 +Belegt6$,50,95,290,17)
Let GraphLadenN7%=@CreateRadioButton(Hinzufugen%,Nr. 7 +Belegt7$,50,110,290,17)
Let GraphLadenN8%=@CreateRadioButton(Hinzufugen%,Nr. 8 +Belegt8$,50,125,290,17)
Let GraphLadenN9%=@CreateRadioButton(Hinzufugen%,Nr. 9 +Belegt9$,50,140,290,17)
Case Belegt1$=(+S$[35]+):EnableWindow GraphLadenN1%,0
Case Belegt2$=(+S$[35]+):EnableWindow GraphLadenN2%,0
Case Belegt3$=(+S$[35]+):EnableWindow GraphLadenN3%,0
Case Belegt4$=(+S$[35]+):EnableWindow GraphLadenN4%,0
Case Belegt5$=(+S$[35]+):EnableWindow GraphLadenN5%,0
Case Belegt6$=(+S$[35]+):EnableWindow GraphLadenN6%,0
Case Belegt7$=(+S$[35]+):EnableWindow GraphLadenN7%,0
Case Belegt8$=(+S$[35]+):EnableWindow GraphLadenN8%,0
Case Belegt9$=(+S$[35]+):EnableWindow GraphLadenN9%,0
EndIf
Case Graph1%=1:Graph1 0
Case Graph1%=2:Graph2 0
Case Graph1%=3:Graph3 0
Case Graph1%=4:Graph4 0
Case Graph1%=5:Graph5 0
Case Graph1%=6:Graph6 0
Case Graph1%=7:Graph7 0
Case Graph1%=8:Graph8 0
Case Graph1%=9:Graph9 0
Case Graph1%=10:Graph10 0
Case Graph1%=11:Graph11 0
If GT$[1]=2
Case Graph2%=1:Graph1 1
Case Graph2%=2:Graph2 1
Case Graph2%=3:Graph3 1
Case Graph2%=4:Graph4 1
Case Graph2%=5:Graph5 1
Case Graph2%=6:Graph6 1
Case Graph2%=7:Graph7 1
Case Graph2%=8:Graph8 1
Case Graph2%=9:Graph9 1
Case Graph2%=10:Graph10 1
Case Graph2%=11:Graph11 1
EndIf
WhileNot Ende%
Sleep(10)
Mausposition
Let j%=1
While j%<=14
Case @GetFocus(BruchButton%[1,j%]):BruchEingabe E%[1,j%],MausX&,MausY&
Case @GetFocus(BruchButton%[2,j%]):BruchEingabe E%[2,j%],MausX&,MausY&
Inc j%
EndWhile
If Graph1%=8
IfNot @Or(@GetText$(Edit1%)=,@GetText$(Edit2%)=)
EnableWindow Edit3%,1
EnableWindow Edit4%,1
Else
EnableWindow Edit3%,0
EnableWindow Edit4%,0
EndIf
IfNot @Or(@Or(@GetText$(Edit1%)=,@GetText$(Edit2%)=),@Or(@GetText$(Edit3%)=,@GetText$(Edit4%)=))
EnableWindow Edit5%,1
EnableWindow Edit6%,1
Else
EnableWindow Edit5%,0
EnableWindow Edit6%,0
EndIf
IfNot @Or(@Or(@Or(@GetText$(Edit1%)=,@GetText$(Edit2%)=),@Or(@GetText$(Edit3%)=,@GetText$(Edit4%)=)),@Or(@GetText$(Edit5%)=,@GetText$(Edit6%)=))
EnableWindow Edit7%,1
EnableWindow Edit8%,1
Else
EnableWindow Edit7%,0
EnableWindow Edit8%,0
EndIf
IfNot @Or(@Or(@Or(@GetText$(Edit1%)=,@GetText$(Edit2%)=),@Or(@GetText$(Edit3%)=,@GetText$(Edit4%)=)),@Or(@Or(@GetText$(Edit5%)=,@GetText$(Edit6%)=),@Or(@GetText$(Edit7%)=,@GetText$(Edit8%)=)))
EnableWindow Edit9%,1
EnableWindow Edit10%,1
Else
EnableWindow Edit9%,0
EnableWindow Edit10%,0
EndIf
IfNot @Or(@Or(@Or(@GetText$(Edit1%)=,@GetText$(Edit2%)=),@Or(@GetText$(Edit3%)=,@GetText$(Edit4%)=)),@Or(@Or(@GetText$(Edit5%)=,@GetText$(Edit6%)=),@Or(@GetText$(Edit7%)=,@GetText$(Edit8%)=)))
IfNot @Or(@GetText$(Edit9%)=,@GetText$(Edit10%)=)
EnableWindow Edit11%,1
EnableWindow Edit12%,1
Else
EnableWindow Edit11%,0
EnableWindow Edit12%,0
EndIf
Else
EnableWindow Edit11%,0
EnableWindow Edit12%,0
EndIf
IfNot @Or(@Or(@Or(@GetText$(Edit1%)=,@GetText$(Edit2%)=),@Or(@GetText$(Edit3%)=,@GetText$(Edit4%)=)),@Or(@Or(@GetText$(Edit5%)=,@GetText$(Edit6%)=),@Or(@GetText$(Edit7%)=,@GetText$(Edit8%)=)))
IfNot @Or(@Or(@GetText$(Edit9%)=,@GetText$(Edit10%)=),@Or(@GetText$(Edit11%)=,@GetText$(Edit12%)=))
EnableWindow Edit13%,1
EnableWindow Edit14%,1
Else
EnableWindow Edit13%,0
EnableWindow Edit14%,0
EndIf
Else
EnableWindow Edit13%,0
EnableWindow Edit14%,0
EndIf
EndIf
Case @GetFocus(HinzufugenA%):Let Ende%=1
If @GetFocus(HinzufugenB%)
If Graph1%=1
Kurzezahl @KtP(@GetText$(E%[1,1]))
Let GT$[2]=@Add$(@Add$(@Str$(Graph1%),|1|),@Add$(@$(0),|))
Kurzezahl @KtP(@GetText$(E%[1,2]))
Let GT$[2]=@Add$(@Add$(GT$[2],@$(0)),|)
Kurzezahl @KtP(@GetText$(E%[1,3]))
Let GT$[2]=@Add$(@Add$(GT$[2],@$(0)),|)
Let GT$[2]=@Add$(GT$[2],||||||||)
ElseIf @Or(Graph1%=2,Graph1%=6)
Dec Graph1%
Let GT$[2]=@Add$(@Add$(@Str$(Graph1%),|),@Add$(@KtP(@GetText$(E%[1,1])),|))
Let GT$[2]=@Add$(@Add$(GT$[2],@KtP(@GetText$(E%[1,2]))),|)
Let GT$[2]=@Add$(@Add$(GT$[2],@KtP(@GetText$(E%[1,3]))),|)
Let GT$[2]=@Add$(@Add$(GT$[2],@KtP(@GetText$(E%[1,4]))),|)
Let GT$[2]=@Add$(GT$[2],|||||||)
ElseIf @Or(@Or(@Or(Graph1%=3,Graph1%=4),@Or(Graph1%=5,Graph1%=9)),@Or(Graph1%=10,Graph1%=11))
Dec Graph1%
Let GT$[2]=@Add$(@Add$(@Str$(Graph1%),|),@Add$(@KtP(@GetText$(E%[1,1])),|))
Let GT$[2]=@Add$(@Add$(GT$[2],@KtP(@GetText$(E%[1,2]))),|)
Let GT$[2]=@Add$(GT$[2],||||||||||)
EndIf
If GT$[1]=2
If Graph2%=1
Let GT$[3]=@Add$(@Add$(@Str$(Graph2%),|1|),@Add$(@KtP(@GetText$(E%[2,1])),|))
Let GT$[3]=@Add$(@Add$(GT$[3],@KtP(@GetText$(E%[2,2]))),|)
Let GT$[3]=@Add$(@Add$(GT$[3],@KtP(@GetText$(E%[2,3]))),|)
Let GT$[3]=@Add$(GT$[3],||||||||)
ElseIf @Or(Graph2%=2,Graph2%=6)
Dec Graph2%
Let GT$[3]=@Add$(@Add$(@Str$(Graph2%),|),@Add$(@KtP(@GetText$(E%[2,1])),|))
Let GT$[3]=@Add$(@Add$(GT$[3],@KtP(@GetText$(E%[2,2]))),|)
Let GT$[3]=@Add$(@Add$(GT$[3],@KtP(@GetText$(E%[2,3]))),|)
Let GT$[3]=@Add$(@Add$(GT$[3],@KtP(@GetText$(E%[2,4]))),|)
Let GT$[3]=@Add$(GT$[3],|||||||)
ElseIf @Or(@Or(@Or(Graph2%=3,Graph2%=4),@Or(Graph2%=5,Graph2%=9)),@Or(Graph2%=10,Graph2%=11))
Dec Graph2%
Let GT$[3]=@Add$(@Add$(@Str$(Graph2%),|),@Add$(@KtP(@GetText$(E%[2,1])),|))
Let GT$[3]=@Add$(@Add$(GT$[3],@KtP(@GetText$(E%[2,2]))),|)
Let GT$[3]=@Add$(GT$[3],||||||||||)
EndIf
EndIf
Graph @Add$(@Add$(@Add$(GT$[1],|),@Add$(GT$[2],|)),GT$[3])
Clear GT$[1]
Clear GT$[2]
Clear GT$[3]
Let Ende%=1
If Graph1%=-1
Case @GetCheck(GraphLadenN1%):Let GL%=1
Case @GetCheck(GraphLadenN2%):Let GL%=2
Case @GetCheck(GraphLadenN3%):Let GL%=3
Case @GetCheck(GraphLadenN4%):Let GL%=4
Case @GetCheck(GraphLadenN5%):Let GL%=5
Case @GetCheck(GraphLadenN6%):Let GL%=6
Case @GetCheck(GraphLadenN7%):Let GL%=7
Case @GetCheck(GraphLadenN8%):Let GL%=8
Case @GetCheck(GraphLadenN9%):Let GL%=9
Let Temp$[1]=ReadIni$(Settings$,GrX,G+@Str$(GL%)),
Let Temp$[2]=ReadIni$(Settings$,GrX,G+@Str$(GL%)+1)
Let Temp$[3]=ReadIni$(Settings$,GrX,G+@Str$(GL%)+2)
Let Temp$[4]=ReadIni$(Settings$,GrX,G+@Str$(GL%)+3)
Let Temp$[5]=ReadIni$(Settings$,GrX,G+@Str$(GL%)+4)
Let Temp$[6]=ReadIni$(Settings$,GrX,G+@Str$(GL%)+5)
Let Temp$[7]=ReadIni$(Settings$,GrX,G+@Str$(GL%)+6)
Let Temp$[8]=ReadIni$(Settings$,GrX,G+@Str$(GL%)+7)
Let Temp$[9]=ReadIni$(Settings$,GrX,G+@Str$(GL%)+8)
Let Temp$[10]=ReadIni$(Settings$,GrX,G+@Str$(GL%)+9)
Let Temp$[11]=ReadIni$(Settings$,GrX,G+@Str$(GL%)+10)
Let Temp$[12]=ReadIni$(Settings$,GrX,G+@Str$(GL%)+11)
Let Temp$[13]=ReadIni$(Settings$,GrX,G+@Str$(GL%)+12)
Let Temp$[14]=ReadIni$(Settings$,GrX,G+@Str$(GL%)+13)
Graph Temp$[1], Temp$[2], Temp$[3], Temp$[4], Temp$[5], Temp$[6], Temp$[7], Temp$[8], Temp$[9], Temp$[10], Temp$[11], Temp$[12], Temp$[13], Temp$[14]
Let Ende%=1
EndIf
EndIf
EndWhile
@DestroyWindow(Hinzufugen%)
EndIf
EndWhile
Let Ende%=0
@DestroyWindow(Hinzufugen%)
endproc
Woran liegt das ? |
| | | Debian Lenny, Intel Celeron 2,8 Ghz, 768 MB Ram && Win XP Pro, Intel C2D 1,66Ghz, 2 GB Ram ... PROFAN² 6.6 | 07.07.2007 ▲ |
| |
| | Jörg Sellmeyer | Hallo Christian, Tja, das ist natürlich etwas schlecht. Da in dem zweiten Teil gar keine Choicebox auftaucht, dieses nur eine Prozedur ist, die wahrscheinlich ein Hautptfenster braucht und ein Cls vor dem Prozeduraufruf sofort nichtdeklarierte Variablen anmeckert, ist es schwierig da irgendeinen sinnvollen Hinweis zu geben. Du hast ja selber festgestellt, daß es oben funktioniert. Also mußt Du Deine Codestruktur nochmal überprüfen. Entweder kannst Du dann ein lauffähiges Beispiel erstellen oder Du kommst sowieso von allein drauf. Sprich: Schmeiß alles raus, was für das Beispiel unwichtig ist und ich schätze Du findest die Lösung. Gruß Jörg |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 07.07.2007 ▲ |
| |
| | | Wenn ein Source als Text zu groß für den Beitrag ist dann kannst Du ihn auch einfach als Datei per Dateianhang hochladen. |
| | | | |
| | Christian Eichler | Ja, aber an sich ist es schon so, dass wenn ich KompilierenMarkierenSeparierenLet test&=@CreateChoiceBox(HWND%,,0,0,250,100)
@AddChoice(test&,Jeden Pixel berechnen)
@AddChoice(test&,Jeden 2.Pixel berechnen)
@AddChoice(test&,Jeden 3.Pixel berechnen)
@AddChoice(test&,Jeden 4.Pixel berechnen)
@AddChoice(test&,Jeden 5.Pixel berechnen)
schreibe, dass da dann doch auf jeden Fall eine ChoiceBox mit den 5 Auswahlmöglichkeiten erscheint, oder täusche ich mich da grad ?
Kann man bei ChoiceBoxen da irgendeinen Fehler machen ? |
| | | Debian Lenny, Intel Celeron 2,8 Ghz, 768 MB Ram && Win XP Pro, Intel C2D 1,66Ghz, 2 GB Ram ... PROFAN² 6.6 | 08.07.2007 ▲ |
| |
| | Jörg Sellmeyer | Genau - aber eben dieses Create(ChoiceBox,...) taucht in Deinem meterlangen Beispiel nicht auf... Wohlgemerkt: Es taucht als Codezeile nicht auf und darum natürlich auch im Programmablauf nicht! |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 08.07.2007 ▲ |
| |
| | Christian Eichler | KompilierenMarkierenSeparierenLet HinzufugenB%=@CreateButton(Hinzufugen%,S$[38],205,190,70,20)
Let HinzufugenA%=@CreateButton(Hinzufugen%,S$[39],290,190,70,20)
Let GenauigkeitsAuswahl&=@CreateChoiceBox(Hinzufugen%,,170,135,150,15)
Let StartAuswahl$=Jeden Pixel berechnen
@AddChoice(GenauigkeitsAuswahl&,Jeden Pixel berechnen)
@AddChoice(GenauigkeitsAuswahl&,Jeden 2.Pixel berechnen)
@AddChoice(GenauigkeitsAuswahl&,Jeden 3.Pixel berechnen)
@AddChoice(GenauigkeitsAuswahl&,Jeden 4.Pixel berechnen)
@AddChoice(GenauigkeitsAuswahl&,Jeden 5.Pixel berechnen)
@SendMessage(GenauigkeitsAuswahl&,$014E,@SendMessage(GenauigkeitsAuswahl&,$014C,-1,(@Addr(StartAuswahl$)+1)),0)
HinzufugenBild
Let Graph1%=1
Hier ist doch das @CreateChoiceBox in dem meterlangen Programmteil !? |
| | | Debian Lenny, Intel Celeron 2,8 Ghz, 768 MB Ram && Win XP Pro, Intel C2D 1,66Ghz, 2 GB Ram ... PROFAN² 6.6 | 08.07.2007 ▲ |
| |
| | Nico Madysa | Hmm, ich hab jetzt nur die beiden letzten Quelltexte gelesen, aber in dem ersten weist du die Einträge dem Handle test& zu und im zweiten erstellt du eine ChoiceBox mit dem Handle Genauigkeitsauswahl&. Könnte das vielleicht das Problem sein? |
| | | | |
| | Christian Eichler | Wo sollte da das Problem liegen ? Müsste doch auch funktionnieren, wenn die Variable nicht test& heißt oder ? Vorrausgesetzt sie ist declariert natürlich !
PS: Hab in dem Beispiel : KompilierenMarkierenSeparierenDef @GetSysColor(1) !user32.dll,GetSysColor
declare hwnd%
SetTrueColor 1
WindowStyle 31
WindowTitle möp.
let hwnd%=@CreateDialog(%HWND,määh,(%maxX/2-320),(%maxY/2-240),640,480)Window
CLS GetSysColor(15)
UseFont MS Sans Serif,10,7,0,0,0
SetDialogFont 1
WindowStyle 16
declare test&, test$
let test$=Jeden Pixel berechnen
let test&=@CreateChoiceBox(HWND%,,0,0,250,100)
@AddChoice(test&,Jeden Pixel berechnen)
@AddChoice(test&,Jeden 2.Pixel berechnen)
@AddChoice(test&,Jeden 3.Pixel berechnen)
@AddChoice(test&,Jeden 4.Pixel berechnen)
@AddChoice(test&,Jeden 5.Pixel berechnen)
@SendMessage(test&,$014E,@SendMessage(test&,$014C,-1,(@Addr(test$)+1)),0)
waitkey
Das test& durch ein Genauigkeitsauswahl& ersetzt : --> geht auch ! |
| | | Debian Lenny, Intel Celeron 2,8 Ghz, 768 MB Ram && Win XP Pro, Intel C2D 1,66Ghz, 2 GB Ram ... PROFAN² 6.6 | 08.07.2007 ▲ |
| |
| | Jörg Sellmeyer | Hoppla! Das habe ich doch glatt übersehen. KompilierenMarkierenSeparierenCls
Declare Hinzufugen%,GenauigkeitsAuswahl&
Hinzufugen%=@CreateWindow(%HWND,,(%maxx/2-190),(%maxy/2-120),380,213)
GenauigkeitsAuswahl&=@CreateChoiceBox(Hinzufugen%,,170,135,150,150)
@AddChoice(GenauigkeitsAuswahl&,Jeden Pixel berechnen)
@AddChoice(GenauigkeitsAuswahl&,Jeden 2.Pixel berechnen)
@AddChoice(GenauigkeitsAuswahl&,Jeden 3.Pixel berechnen)
Randomize
While 1
Waitinput
SendMessage(GenauigkeitsAuswahl&,$014E,Rnd(3),0)
Wend
So etwas meine ich mit lauffähigem Beispiel. Wenn man sich durch so eine ellenlange Codewüste quälen muß, ist es naturgemäß schwieriger, einen Fehler zu finden. Du hast die Höhe der Choicebox zu klein gewählt. Die Höhe des aufgeklappten Controls muß angegeben werden. Gruß Jörg |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 08.07.2007 ▲ |
| |
| | Christian Eichler | AAahh... vielen Dank ! Da muss man erst mal drauf kommen ... Ja, jetzt ist mein Problem gelöst ! |
| | | Debian Lenny, Intel Celeron 2,8 Ghz, 768 MB Ram && Win XP Pro, Intel C2D 1,66Ghz, 2 GB Ram ... PROFAN² 6.6 | 08.07.2007 ▲ |
| |
| | Jörg Sellmeyer | Schön. Dein Windowstyle 16 kannst Du Dir an der Stelle übrigens sparen. Dialogfenster haben sowieso kein Menü. |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 08.07.2007 ▲ |
| |
| | Christian Eichler | Hehe... programmiertechnisch ist mein Programm ja sowieso noch nicht 100%-ig. Ich hab es jetzt geschafft, den Quellcode von 4000 auf unter 3000 Zeilen zu bringen. Daran sieht man mal wieder, wie ausführlich der Code war !
Aber danke, ich werden das Windowstyle 16 rausnehmen ! |
| | | Debian Lenny, Intel Celeron 2,8 Ghz, 768 MB Ram && Win XP Pro, Intel C2D 1,66Ghz, 2 GB Ram ... PROFAN² 6.6 | 08.07.2007 ▲ |
| |
|
AntwortenThemenoptionen | 659 Betrachtungen |
ThemeninformationenDieses Thema hat 4 Teilnehmer: |