English
Forum

SpinEdits Start- and Endwert during the Laufzeit change MESSAGES

 

Rainer
Hoefs
Halo together,

I Search to Messages with them one with one SpinEdits, according to situation, The mins-, Start- and/or Endwerte change can.

for each Help grateful,

Greeting

Rainer
 
06/28/15  
 




H.Brill
Perhaps helps you the moreover : [...] 
 
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.
06/28/15  
 




Rainer
Hoefs
Hi,

many Thanks, but does not work for me, I have the SpinEdits to create("SpinEdits",... prepares.

MfG
Rainer
 
06/28/15  
 




RGH
ex Version X3 place I the Spinedit on the new shape circa, since the previous Variante of Microsoft as "veraltet" marks becomes. then go these Messages functions.

the previous SpinEdits is the API "createUpDownControl" created been. If you thereafter seek, should You too The for suitable Messages find. On The Shcnelle in my "schlauen Buch"* for Steuerelemente found:

The Messages catch with UDM_ on.
UDM_SETPOS position whom Startwert one. WPARAM has 0 and LPARAM standing the worth.
UDM_SETRANGE position whom area one. WPARAM has 0 and LoWord of LPARAM standing the maximum worth, in HiWord(LPARAM) the Minimalwert (each 16 bit).
UDM_SETBASE setting The Base on WPARAM, which 10 (dezimal) or 16 (hexadezimal) his can.

Greeting
Roland

* Richard J. Simon, windows 95/NT API Bible, volume 2: Steuerelemente & Messages, 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
06/28/15  
 



with something like can also Konstantinopel always well help:  [...] 


UD_MAXVAL = { $7 | 7 }FFF
UD_MINVAL = -UD_MAXVAL
UDM_GETACCEL = WM_USER + { $6C | 108 }
UDM_GETBASE = WM_USER + { $6E | 110 }
UDM_GETBUDDY = WM_USER + { $6A | 106 }
UDM_GETPOS = WM_USER + { $68 | 104 }
UDM_GETRANGE = WM_USER + { $66 | 102 }
UDM_GETRANGE32 = WM_USER + { $70 | 112 }
UDM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT
UDM_SETACCEL = WM_USER + { $6B | 107 }
UDM_SETBASE = WM_USER + { $6D | 109 }
UDM_SETBUDDY = WM_USER + { $69 | 105 }
UDM_SETPOS = WM_USER + { $67 | 103 }
UDM_SETRANGE = WM_USER + { $65 | 101 }
UDM_SETRANGE32 = WM_USER + { $6F | 111 }
UDM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT
UDN_DELTAPOS = UDN_FIRST - { $1 | 1 }
UDN_FIRST = { $0 | 0 }-{ $2D1 | 721 }
UDN_LAST = { $0 | 0 }-{ $2E4 | 740 }
UDS_ALIGNLEFT = { $8 | 8 }
UDS_ALIGNRIGHT = { $4 | 4 }
UDS_ARROWKEYS = { $20 | 32 }
UDS_AUTOBUDDY = { $10 | 16 }
UDS_HORZ = { $40 | 64 }
UDS_HOTTRACK = { $100 | 256 }
UDS_NOTHOUSANDS = { $80 | 128 }
UDS_SETBUDDYINT = { $2 | 2 }
UDS_WRAP = { $1 | 1 }

485 kB
Hochgeladen:06/28/15
Downloadcounter114
Download
 
06/28/15  
 




RGH
BTW: what me the old book verheimlichte: there's too UDM_SETRANGE32, where The values in WPARAM and LPARAM stand.

If you with $H commctrl.ph The suitable Header-File uses, sin The Messages famous and can How dwelt used go, about:

SendMessage(hMeinControl, ~UDM_SETRANGE32, 10, 70)

Greeting
Roland
 
XProfan X2
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
06/28/15  
 




Rainer
Hoefs
Hello Roland,

functions neither!

MfG
Rainer
 $H windows.ph
 $H messages.ph
 $H commctrl.ph
Def sEditNum(1) External("USER32","SetWindowLongA",&(1),-16,(External("USER32","GetWindowLongA",&(1),-16) | $2000))
cls

Proc dialog3

    Declare Db%, Feldname%, FeldLaenge&, DezimalStellen%, FeldTyp%, Save%, NeuesFeld%, FeldLoeschen%, Next%, Previous%
    Declare ExitDialog%, ErstelleDB%, DbFeldliste%, ListString$, FeldTyp$, DBName%
    Db% = Create("Dialog",Db%,"Datenbank boxes definieren", 180,70,818,260)
    Var Text0% = Create("Text", Db%, "Datenbankname", 24, 16, 184, 16)
    DBname% = Create("Edit", Db%, "Datenbankname", 24, 40, 184, 24)
    Var Text1% = Create("Text", Db%, "Feldname", 224, 16, 184, 16)
    Feldname% = Create("Edit", Db%, "Feldname", 224, 40, 184, 24)
    SendMessage(Feldname%,$00C5,10,0)
    Var Text3% = Create("Text", Db%, "Feldtyp", 424, 16, 160, 16)
    FeldTyp% = Create("ChoiceBox", Db%, 0, 424, 40, 160, 116)
    AddStrings(FeldTyp%,"C = Alphanumerisch")
    AddStrings(FeldTyp%,"N = Numerisch")
    AddStrings(FeldTyp%,"D = Datum")
    AddStrings(FeldTyp%,"L = logical (J/n)")
    AddStrings(FeldTyp%,"M = Memofeld")
    Select String(FeldTyp%,-1,"C =")
    Var  Text2% = Create("Text", Db%, "Feldlänge", 600, 16, 96, 16)
    Feldlaenge& =Create("SpinEdits", Db%,"1;1;1", 600, 40, 76, 24)
    SEditNum(FeldLaenge&)
    Var Text4% = Create("Text", Db%, "Dezimalstellen", 692, 16, 126, 16)
    Dezimalstellen% = Create("SpinEdits", Db%, "0;0;2", 692, 40, 96, 24)
    SEditNum(DezimalStellen%)
    Save% = Create("Button", Db%, "*.STR speichern", 495, 80, 121, 24)
    NeuesFeld% = Create("Button", Db%, "Feld anhängen", 168, 80, 112, 24)
    FeldLoeschen% = Create("Button", Db%, "Feld löschen", 332, 80, 111, 24)
    ExitDialog% = Create("Button", Db%, "Beenden", 24, 80, 92, 24)
    ErstelleDb% = Create("Button", Db%, "*.DBF erstellen", 668, 80, 122, 24)
    DbFeldListe% = Create("ListBox", Db%, 0, 24, 114, 764, 100)
    EnableWindow FeldLaenge&,1
    SetText FeldLaenge&,"0"
    EnableWindow DezimalStellen%,0
    SetText DezimalStellen%,"0"
    Declare I%
    I% = 0
    User Messages 16
    Declare DialogEnde%
    DialogEnde% = 0

    WhileNot 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
                '**************************************************************************************
                ' here to the Max-worth on 254 because of C-area staid go!
                '**************************************************************************************
                SendMessage(FeldLaenge&, ~UDM_SETRANGE32, 1, 254)
                SetText FeldLaenge&,"1"
                EnableWindow DezimalStellen%,0
                SetText DezimalStellen%,"0"

                CaseOf "N"

                '**************************************************************************************
                ' here to the Max-worth on 19 because of n-area staid go!
                '**************************************************************************************
                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(Save%)

        ElseIf Clicked(NeuesFeld%)

            ListString$ = Upper $(GetText$(Feldname%))+";"+Upper $(Left$( GetText$(FeldTyp%);1))+";"+GetText$( FeldLaenge&)+";"+GetText$(DezimalStellen%)

            If Select String(DbFeldListe%,-1,Upper $(GetText$(Feldname%))) > -1

                MessageBox("Feld exists already!\r\rBitte Felddaten correct!","Error with Felddefinition!",64)
                SetFocus(Feldname%)

            Else

                AddStrings(DbFeldListe%,ListString$)
                Select 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

dialog3
End
 
06/28/15  
 




RGH
Möglicherweise can with the Control these values not as an afterthought Change. then helps only one: Control with DestroyWindow() delete and whom new Values new create.

Greeting
Roland
 
XProfan X2
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
06/28/15  
 




Rainer
Hoefs
Hello Roland,

the have so did i already erfolglos probiert!

MfG
Rainer
 
06/28/15  
 




RGH
Sorry, my Error:

the lever of SpinEdits is Yes first of all the lever the Edit-Field and not the lever the UpDown-Controls!
there The ItemId the UpDown-Controls exakt 1 higher is, as the the Edit-Field before it, can so which lever detect and whom supra erwähnten Messages too objectively in the ongoing Program Change:
var hEdit& = Create("SpinEdits", %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 To 1440 = Mini-and Maximalwert

around the complete Spinedit To delete, must one both with DestroyWindow() Remove.

Greeting
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
06/28/15  
 




Rainer
Hoefs
thanks Roland, now functions it.

MfG
RAiner
 
06/28/15  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

no Systemprofil laid out. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Please register circa a Posting To verfassen.
 

Topic-Options

6.470 Views

Untitledvor 0 min.
H.Brill05/20/23
Rainer Hoefs04/22/23
Ernst04/16/21
Michael W.01/02/21
More...

Themeninformationen



Admins  |  AGB  |  Applications  |  Authors  |  Chat  |  Privacy Policy  |  Download  |  Entrance  |  Help  |  Merchantportal  |  Imprint  |  Mart  |  Interfaces  |  SDK  |  Services  |  Games  |  Search  |  Support

One proposition all XProfan, The there's!


My XProfan
Private Messages
Own Storage Forum
Topics-Remember-List
Own Posts
Own Topics
Clipboard
Log off
 Deutsch English Français Español Italia
Translations

Privacy Policy


we use Cookies only as Session-Cookies because of the technical necessity and with us there no Cookies of Drittanbietern.

If you here on our Website click or navigate, stimmst You ours registration of Information in our Cookies on XProfan.Net To.

further Information To our Cookies and moreover, How You The control above keep, find You in ours nachfolgenden Datenschutzerklärung.


all rightDatenschutzerklärung
i want none Cookie