Source/ Codesnippets | | | | Frank Abbing | cela profane SpinEdit-Contrôle - je sags la fois dans aller honnêteté - sieht hässlich aus avec seiner Unterbrechung entre Éditer et Pfeilen. Meiner attitude pour ist cela sogar un Bug... il y a mais une automatisierte et simple trop programmierende Alternative - cela UpDown-Contrôle. facultativement comme Dezimal- ou bien Hexadezimal-Éditer (malheureusement seulement C-Style). ici un Testcode: KompilierenMarqueSéparationDeclare xdec&, xhex&, font&
Def GetSysColor(1) !USER32,GetSysColor
Cls GetSysColor(15)
font& = Create(Font,MS Sans Serif,10,0,0,0,0)
SetDialogFont font&
Dezimal-Edit
Create(EDIT,%HWnd,,8,8,64,20)
xdec&=Control(MSCTLS_UPDOWN32, ,$54000192,72,8,16,20, %hwnd, 2019, %hInstance, $00000000)
SendMessage(xdec&,$467,0,60) 60 = Ausgangszahl
SendMessage(xdec&,$46f,40,1440) 40 bis 1440 = Mini-und Maximalwert
Hexadezimal-Edit
Create(EDIT,%HWnd,,8,32,64,20)
xhex&=Control(MSCTLS_UPDOWN32, ,$54000192,72,32,16,20, %hwnd, 2019, %hInstance, $00000000)
SendMessage(xhex&,$46d,16,0) 10 = Dezimal / 16 = Hexadezimal
SendMessage(xhex&,$467,0,60) 60 = Ausgangszahl
SendMessage(xhex&,$46f,40,1440) 40 bis 1440 = Mini-und Maximalwert
While 1
WaitInput
Case %key=2:Break
EndWhile
Fin
Gibt encore quelques Messages plus. Z.B. peux bestimmt volonté, cela sich cela Éditer qui Position et Grösse des UpDown-Controls automatisch anpasst (à gauche et rechsbündig). aussi ist es possible, cela qui Werte de vorne commencer trop zählen, sobald un Überlauf stattgefunden hat. aussi Tausender-Markierungen sommes léger einzustellen. Bien sûr peux dem Contrôle aussi chaque x-beliebige Éditer zugewiesen volonté. Voreingestellt ist (comment dans mon Beispiel) cela devant zuletzt generierte Éditer-Contrôle.
Viel Spass beim experimentieren! |
| | | | |
| | GDL | Hi,
werde je juste la fois testen.
salut Georg |
| | | | |
| | Jörg Sellmeyer | Quelque chose comme peux on aussi encore faire: KompilierenMarqueSéparation $H windows.ph
$H messages.ph
Declare xdec&, xhex&, font&
Cls ~GetSysColor(15)
SetDialogFont ~GetStockObject($11)
Dezimal-Edit
Create(EDIT,%HWnd,,8,8,64,20)
xdec&=Control(MSCTLS_UPDOWN32, ,$54000192,72,8,16,20, %hwnd, 2019, %hInstance, $00000000)
SendMessage(xdec&,$467,0,60)60 = Ausgangszahl
SendMessage(xdec&,$46f,40,1440)40 bis 1440 = Mini-und Maximalwert
Hexadezimal-Edit
Create(EDIT,%HWnd,,8,32,64,20)
xhex&=Control(MSCTLS_UPDOWN32, ,$54000192,72,32,16,20, %hwnd, 2019, %hInstance, $00000000)
SendMessage(xhex&,$46d,16,0)10 = Dezimal / 16 = Hexadezimal
SendMessage(xhex&,$467,0,60)60 = Ausgangszahl
SendMessage(xhex&,$46f,40,1440)40 bis 1440 = Mini-und Maximalwert
Var l& = Create(Listbox,%hwnd,,8,56,80,19)
SetStyle l&,1,GetStyle(l&,1) | ~ws_ex_right
WhileLoop -9,9
AddString(l&,Wert: + Str$(&Loop))
Wend
While 1
WaitInput
Case %key=2:Break
EndWhile
Fin
|
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 04.11.2007 ▲ |
| |
| | Uwe ''Pascal'' Niemeier | allô gens!
Hoch ne variante: KompilierenMarqueSéparationwindow 100,100-300,300
$H Messages.ph
$H commctrl.ph
create(text,%hwnd,,50,50,50,20)
var UD&=~CreateUpDownControl($54000192,0,0,0,0,%hwnd,1,0,0,10000,-10000,50)
setwindowpos UD&=50,100-50,50
declare a#
dim a#,24
long a#,0=0---zu Beginn 1er zählen
long a#,4=1
long a#,8=2---nach 2 Sekunden 10er zählen
long a#,12=10
long a#,16=4--nach 4 Sekunden 100er zählen
long a#,20=100
sendmessage(UD&,~UDM_SETACCEL,3,a#)
while 1
waitinput
endwhile
c'est qui le tort qui ständigen Vereinfachungen chez Profan: Solche Feinheiten geraten vite dans Vergessenheit, et ensuite wird pour weiteren Vereifachungen geschrien...
SeeYou Pascal |
| | | | |
| | Jörg Sellmeyer | bof, zumindest so ähnlich peux on cette effet aussi sur cela Profancontrol anwenden: KompilierenMarqueSéparationwindow 100,100-300,300
Def UDM_GetBuddy(1) SendMessage(&(1),$046A,0,0)
$H Messages.ph
$H commctrl.ph
create(text,%hwnd,,50,50,50,20)
Var UD& = Create(SpinEdit,%hwnd,0;-10000;10000,10,80,100,20)
VAR UDBud& = UDM_GetBuddy(UD&)
declare a#
dim a#,24
long a#,0=0---zu Beginn 1er zählen
long a#,4=1
long a#,8=2---nach 2 Sekunden 10er zählen
long a#,12=10
long a#,16=4--nach 4 Sekunden 100er zählen
long a#,20=100
sendmessage(UDBud&,~UDM_SETACCEL,3,a#)
while 1
waitinput
endwhile
|
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 05.11.2007 ▲ |
| |
| | Frank Abbing | @Pascal: qui Message peut sich naturellement aussi sur mon obiges UpDown-Contrôle anwenden. Im Übrigen benutzt Rolands Spinedit plan cet API. |
| | | | |
| | RGH | aussi si cette Fil déjà 7,5 Jahre (!) vieux ist: j'ai dans X3 qui inzwischen de Microsoft comme "veraltet" gekennzeichnete API "createUpDownControl" par qui aktuelle variante avec "createwindow(MSCTLS_UPDOWN32" ersetzt. cela sieht pas seulement quelque chose besser aus, mais erlaubt aussi Werte, qui sur den 16-Bit-Bereich hinausgehen: KompilierenMarqueSéparationDeclare xdec&, xhex&, font&, hspin&
Def GetSysColor(1) !"USER32.DLL","GetSysColor"
Cls GetSysColor(15)
font& = Create("Font","MS Sans Serif",10,0,0,0,0)
SetDialogFont font&
' Dezimal-Edit
Create("EDIT",%HWnd,"",8,8,64,20)
xdec&=Control("MSCTLS_UPDOWN32", "",$54000192,72,8,16,20, %hwnd, 2019, %hInstance, $00000000)
SendMessage(xdec&,$467,0,60)' 60 = Ausgangszahl
SendMessage(xdec&,$46f,40,1440)' 40 bis 1440 = Mini-und Maximalwert
' Hexadezimal-Edit
Create("EDIT",%HWnd,"",8,32,64,20)
xhex&=Control("MSCTLS_UPDOWN32", "",$54000192,72,32,16,20, %hwnd, 2019, %hInstance, $00000000)
SendMessage(xhex&,$46d,16,0)' 10 = Dezimal / 16 = Hexadezimal
SendMessage(xhex&,$467,0,60)' 60 = Ausgangszahl
SendMessage(xhex&,$46f,40,1440)' 40 bis 1440 = Mini-und Maximalwert
' Profan
hSpin& = Create("SpinEdit", %hWnd, "60; -100; 100", 8, 56, 80, 20)
While 1
WaitInput
Case %key=2:Break
EndWhile
Fin
|
| | | XProfan X2Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 28.06.2015 ▲ |
| |
| | Michael W. | super.
quoi mir beim Testen auffiel: Im Interpreter funktioniert cela (c)-menu, mais kompiliert funktioniert es pas. |
| | | XProfan X3System: Windows 8/10, XProfan X4 Programmieren, das spannendste Detektivspiel der Welt. | 29.06.2015 ▲ |
| |
| | RGH | cela était déjà toujours so: Im Interpreter wird qui Info-Box zum Interpreter angezeigt et ensuite %menuitem sur 254 gesetzt. Im fertigen Programme (EXE ou bien Runtime) wird seulement %menuitem sur 254 gesetzt. si qui Programmierer im Programme puis pas reagiert, passiert plan rien.
cela était ursprünglich pour gedacht, dass ici qui Programmierer seinen eigenen Copyright-Hinweis mets. et im fertigen Programme muss oui pas absolument qui Copyright-Hinweis de XProfan drin stehen.
cela steht aussi so irgendwo dans qui Aider.
Salut Roland |
| | | Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 29.06.2015 ▲ |
| |
|
Zum QuelltextOptions du sujet | 16.708 Views |
Themeninformationencet Thema hat 6 participant: |