Foro | | | | Rainer Hoefs | Halo zusammen,
Yo búsqueda después de Messages con denen uno en una SpinEdit, je después de Situation, el Min-, Start- y/oder Endwerte verändern kann.
Für jede Ayuda dankbar,
Saludo
Rainer |
| | | | |
| | H.Brill | tal vez hilft dir el más : [...] |
| | | Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 28.06.2015 ▲ |
| |
| | Rainer Hoefs | ¡Hola,
vielen Dank, aber no trabajo para mí, Tengo el SpinEdit con create("SpinEdit",... erstellt.
MfG Rainer |
| | | | |
| | RGH | Ab Versión X3 lugar Yo el Spinedit en el neue Form en, como el bisherige Variante de Microsoft como "veraltet" bezeichnet se. Dann voluntad esta Messages trabajo.
Das bisherige SpinEdit es con el API "createUpDownControl" producido worden. Si usted danach suchst, solltest Usted auch el dafür passenden Messages encontrar. Auf el Shcnelle en mi "schlauen Buch"* para Steuerelemente gefunden:
El Messages fangen con UDM_ a. UDM_SETPOS stellt el Startwert una. WPARAM ha 0 y LPARAM es el Valor. UDM_SETRANGE stellt el Zona una. WPARAM ha 0 y LoWord de LPARAM es el maximale Valor, en HiWord(LPARAM) el Minimalwert (jeweils 16 Bit). UDM_SETBASE setzt el Base en WPARAM, welches 10 (dezimal) oder 16 (hexadezimal) ser kann.
Saludo Roland
* Richard J. Simon, Windows 95/NT API Bible, Band 2: Steuerelemente & Noticias, SAMS 1996, 129,00 DM |
| | | 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 | 28.06.2015 ▲ |
| |
| | | En algo como kann auch Konstantinopel siempre bien helfen: [...]
|
| | | | |
| | RGH | BTW: Was me alte Buch verheimlichte: Lo son auch UDM_SETRANGE32, wo el Werte en WPARAM y LPARAM posición.
Si usted con $H commctrl.ph el passende Encabezamiento-Expediente nutzt, sin el Messages bekannt y puede como gewohnt genutzt voluntad, etwa:
SendMessage(hMeinControl, ~UDM_SETRANGE32, 10, 70)
Saludo Roland |
| | | 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 ▲ |
| |
| | Rainer Hoefs | Hola Roland,
funktioniert auch no!
MfG Rainer
$H windows.ph
$H messages.ph
$H commctrl.ph
Def sEditNum(1) Externo("USER32","SetWindowLongA",&(1),-16,(Externo("USER32","GetWindowLongA",&(1),-16) | $2000))
cls
Proc Diálogo3
Declarar Db%, Feldname%, FeldLaenge&, DezimalStellen%, FeldTyp%, Guardar%, NeuesFeld%, FeldLoeschen%, Next%, Previous%
Declarar ExitDialog%, ErstelleDB%, DbFeldliste%, ListString$, FeldTyp$, DBName%
Db% = Crear("Dialog",Db%,"Datenbank Felder definieren", 180,70,818,260)
Var texto0% = Crear("Text", Db%, "Datenbankname", 24, 16, 184, 16)
DBname% = Crear("Edit", Db%, "Datenbankname", 24, 40, 184, 24)
Var texto1% = Crear("Text", Db%, "Feldname", 224, 16, 184, 16)
Feldname% = Crear("Edit", Db%, "Feldname", 224, 40, 184, 24)
SendMessage(Feldname%,$00C5,10,0)
Var texto3% = Crear("Text", Db%, "Feldtyp", 424, 16, 160, 16)
FeldTyp% = Crear("ChoiceBox", Db%, 0, 424, 40, 160, 116)
AddStrings(FeldTyp%,"C = Alphanumerisch")
AddStrings(FeldTyp%,"N = Numerisch")
AddStrings(FeldTyp%,"D = Datum")
AddStrings(FeldTyp%,"L = Logisch (J/N)")
AddStrings(FeldTyp%,"M = Memofeld")
Seleccione String(FeldTyp%,-1,"C =")
Var texto2% = Crear("Text", Db%, "Feldlänge", 600, 16, 96, 16)
Feldlaenge& =Crear("SpinEdit", Db%,"1;1;1", 600, 40, 76, 24)
SEditNum(FeldLaenge&)
Var texto4% = Crear("Text", Db%, "Dezimalstellen", 692, 16, 126, 16)
Dezimalstellen% = Crear("SpinEdit", Db%, "0;0;2", 692, 40, 96, 24)
SEditNum(DezimalStellen%)
Guardar% = Crear("Button", Db%, "*.STR speichern", 495, 80, 121, 24)
NeuesFeld% = Crear("Button", Db%, "Feld anhängen", 168, 80, 112, 24)
FeldLoeschen% = Crear("Button", Db%, "Feld löschen", 332, 80, 111, 24)
ExitDialog% = Crear("Button", Db%, "Beenden", 24, 80, 92, 24)
ErstelleDb% = Crear("Button", Db%, "*.DBF erstellen", 668, 80, 122, 24)
DbFeldListe% = Crear("ListBox", Db%, 0, 24, 114, 764, 100)
EnableWindow FeldLaenge&,1
SetText FeldLaenge&,"0"
EnableWindow DezimalStellen%,0
SetText DezimalStellen%,"0"
Declarar I%
I% = 0
Mensajes del usuario 16
Declarar DialogEnde%
DialogEnde% = 0
Sinestar encargado DialogEnde% = 1
WaitInput
Case %umessage = 16 : BREAK
If Clicked(Feldname%)
ElseIf Clicked(FeldTyp%)
Feldtyp$ = Left$(GetText $(FeldTyp%),1)
Select FeldTyp$
CaseOf "C"
EnableWindow FeldLaenge&,1
'**************************************************************************************
' Hier se el Max-Valor en 254 wegen C-Feld gesetzt voluntad!
'**************************************************************************************
SendMessage(FeldLaenge&, ~UDM_SETRANGE32, 1, 254)
SetText FeldLaenge&,"1"
EnableWindow DezimalStellen%,0
SetText DezimalStellen%,"0"
CaseOf "N"
'**************************************************************************************
' Hier se el Max-Valor en 19 wegen N-Feld gesetzt voluntad!
'**************************************************************************************
SendMessage(FeldLaenge&, ~UDM_SETRANGE32, 1, 19)
EnableWindow FeldLaenge&,1
SetText FeldLaenge&,"1"
EnableWindow DezimalStellen%,1
SetText DezimalStellen%,"0"
CaseOf "D"
SetText DezimalStellen%,"0"
EnableWindow DezimalStellen%,0
SetText FeldLaenge&,"8"
EnableWindow FeldLaenge&,0
CaseOf "L"
SetText DezimalStellen%,"0"
EnableWindow DezimalStellen%,0
SetText FeldLaenge&,"1"
EnableWindow FeldLaenge&,0
CaseOf "M"
SetText DezimalStellen%,"0"
EnableWindow DezimalStellen%,0
SetText FeldLaenge&,"10"
EnableWindow FeldLaenge&,0
EndSelect
ElseIf Clicked(FeldLaenge&)
ElseIf Clicked(Dezimalstellen%)
ElseIf Clicked(Guardar%)
ElseIf Clicked(NeuesFeld%)
ListString$ = Upper$(GetText $(Feldname%))+";"+Upper$(Left$( GetText $(FeldTyp%);1))+";"+GetText $( FeldLaenge&)+";"+GetText $(DezimalStellen%)
If Seleccione String(DbFeldListe%,-1,Upper$(GetText $(Feldname%))) > -1
MessageBox("Feld besteht ya!\r\rBitte Felddaten korrigieren!","Fehler en Felddefinition!",64)
SetFocus(Feldname%)
Más
AddStrings(DbFeldListe%,ListString$)
Seleccione String(DbFeldListe%,-1,ListString$)
EndIf
ElseIf Clicked(FeldLoeschen%)
ElseIf Clicked(Next%)
ElseIf Clicked(Previous%)
ElseIf Clicked(ExitDialog%)
DialogEnde% = 1
ElseIf Clicked(ErstelleDB%)
ElseIf Clicked(DbFeldliste%)
EndIf
EndWhile
DestroyWindow(Db%)
ENDPROC
Diálogo3
End
|
| | | | |
| | RGH | Möglicherweise puede ser en el Control esta Werte no nachträglich ändern. Dann hilft sólo eins: Control con DestroyWindow() löschen y el neuen Werten neu redactar.
Saludo Roland |
| | | 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 ▲ |
| |
| | Rainer Hoefs | Hola Roland,
el Yo auch ya erfolglos probiert!
MfG Rainer |
| | | | |
| | RGH | Sorry, mein Fehler:
Das Handle de SpinEdit es sí primero el Handle des Editar-Feldes y no el Handle des UpDown-Controls! Como el ItemId des UpDown-Controls exakt 1 höher es, como el des Editar-Feldes davor, puede ser así dessen Handle ermitteln y el oben erwähnten Messages auch tatsächlich en el laufenden Programa ändern:
var hEdit& = Crear("SpinEdit", %hWnd, "60; -100; 100", 8, 56, 80, 20)
var hSpin& = GetHandle(%hWnd, ItemId(hEdit&) + 1)
SendMessage(hSpin&,$467,0,95)' 95 = Ausgangszahl
SendMessage(hSpin&,$46f,40,1440)' 40 a 1440 = Mini-y Maximalwert
Um el komplette Spinedit a löschen, muss uno beide con DestroyWindow() entfernen.
Saludo 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 | 28.06.2015 ▲ |
| |
| | Rainer Hoefs | Gracias Roland, ahora funktioniert lo.
MfG RAiner |
| | | | |
|
RespuestaThemeninformationenDieses Thema ha 4 subscriber: |