Italia
Foro

Zum Eingabefeld einige Fragen

 

Andre
Hilprecht
Hallo Helfer,
KompilierenMarkierenSeparieren
var LiterEnde% = @Create("Edit", %hWnd, "4750", 710,65,70,22)
SetFont LiterEnde%,hFont
e>

ich möchte:
1. In so einem Eingabefeld nur Zahlen zulassen (keine Buchstaben, Sonderzeichen, Komma usw.
2. den Bereich auf 0 bis 5000 begrenzen
3. die Zahlen dunkelblau im Feld erscheinen lassen
4. muss man immer wenn man eine andere Schrift haben möchte SetFont hinterschicken, oder geht das auch per eine ganze Prozedur/Programm?

Ich weiß, das sind per Euch viel zu einfache Fragen, aber ich stehe ganz am Anfang.
Lehrbuch ist bestellt und in der Aiuto finde ich zu wenig Beispiele, oder sie sind per mich
zu wenig kommentiert (also Idiotensicher)

ICH WILLS JA LERNEN, also brauch ich Aiuto. Danke schon mal.
Saluto Andre
 
Ein PC ist die beste Möglichkeit Fehler zu beheben, die ohne PC gar nicht passiert wären. -frei aus Murphy's Computergesetzen

XProfan X2, Win8 Pro 64bit Update von Win7
i5 / 3,2GHz 4 GB RAM
Treibstoff: Radeberger Pils
18.12.2012  
 




Thomas
Freier
Zum Lernen bitte in den Quelltexten suchen. Beispiele per Edits bei [...] . Farbige Edits einfach mit der SKControl.dll erstellen oder Beispiele suchen.
Einschränkungen auf einfache Weise:
KompilierenMarkierenSeparieren
Whilenot Ende%

    Waitinput

    If (val(Gettext$(NumEdit%))<0) OR  (val(Gettext$(NumEdit%))>5000)

        SetText NumEdit%,""

    EndIf

    .......weitere A
n
 
Gruß Thomas
Windows XP SP2, XProfan X2
18.12.2012  
 




Julian
Schmidt
Schau dir mal SpinEdits an, ist wahrscheinlich genau das was du suchst.
KompilierenMarkierenSeparieren
CLS
Create("SpinEdit",%hwnd,"50;0;100",10,10,70,25)'Spinedit mit Angabe des Startwertes; Unter Grenze; Obergrenze

WhileNot iskey(27)

    waitinput

EndWh
>

Andre Hilprecht (18.12.12)
4. muss man immer wenn man eine andere Schrift haben möchte SetFont hinterschicken, oder geht das auch per eine ganze Prozedur/Programm?


Siehe SetDialogFont.
 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
18.12.2012  
 




Andre
Hilprecht
Danke per die Aiuto, ich werde mir das der Reihe nach reinziehen.

Das Spinedit ist schon ganz brauchbar, aber nachdem I valore ausgelesen habe,
möchte ich das es vom Bildschirm verschwindet. Tut es auch, nur die Spins (Pfeile) bleiben sichtbar. Außerdem kann man dennoch Buchstaben eingeben, obwohl Io l'
Wert auf 0-5000 festgesetzt habe

SetDialogFont geht nicht per alle mit Create erzeugten Elemente, also macht es eine
Kombination von beidem.
 
Ein PC ist die beste Möglichkeit Fehler zu beheben, die ohne PC gar nicht passiert wären. -frei aus Murphy's Computergesetzen

XProfan X2, Win8 Pro 64bit Update von Win7
i5 / 3,2GHz 4 GB RAM
Treibstoff: Radeberger Pils
19.12.2012  
 




Thomas
Freier
Ein kleines Beispiel mit Edit und SpinEdit und wie das SpinEdit zerstört wird. Aber Achtung: ein SpinEdit hat einen Tausenderpunkt. Der muß zum Rechnen mit @Translate$(S1,S2,S3) entfernt werden.
KompilierenMarkierenSeparieren
' für nur Zahlen
Def GetWindowLong(2) !"USER32", "GetWindowLongA"
Def SetWindowLong(3) !"USER32", "SetWindowLongA"
Def SetEditNumeric(1) SetWindowLong(@&(1),-16, (GetWindowLong(@&(1), -16) | $2002))
cls
var loes%=Create("Button",%hwnd,"SpinnEdit löschen",470,380,140,24)
var ed%=Create("Edit",%HWnd,"",480,10,120,24)
SetEditNumeric(ed%)'nur Ziffereingaben erlauben
sendmessage(ed%,$00C5,4,0)'nur 4 Zeichen
var spin%=Create("SpinEdit",%HWnd,"3000;0;5000",480,80,120,24)
SetEditNumeric(spin%)'nur Ziffereingaben erlauben
sendmessage(spin%,$00C5,4,0)'nur 4 Zeichen

while 1

    waitinput

    If getfocus(ed%)

        case val(gettext$(ed%)) > 5000 : settext ed%,""

    endif

    If getfocus(loes%)

        DestroyWindow(GetHandle(%hwnd,ItemID(spin%) + 1))
        DestroyWindow(spin%)

    endIf

endwhile

 
Gruß Thomas
Windows XP SP2, XProfan X2
19.12.2012  
 




Andre
Hilprecht
Ok, konnte ich alles erfolgreich verwenden und funktioniert wie gewünscht.
Der 2. Teil vom SpinEdit muss also mit einem 2. DestroWindow entfernt werden.
Dachte ich mir schon, hatte es nur nicht probiert.

Einige Fonte aus der Sammlung bekomme ich nicht zum laufen, da ist nicht richtig
auskommentiert und ich sehe (noch) nicht immer was Programm und was Kommentar ist. Wäre hilfreicher, wenn diese Fonte immer kleine und lauffähige Miniprogramme wären.
Du hast das prima gemacht. Das kann auch ein Anfänger nachvollziehen.

Danke

Da kommen noch 999 Fragen bis mein Prog fertig ist.
 
Ein PC ist die beste Möglichkeit Fehler zu beheben, die ohne PC gar nicht passiert wären. -frei aus Murphy's Computergesetzen

XProfan X2, Win8 Pro 64bit Update von Win7
i5 / 3,2GHz 4 GB RAM
Treibstoff: Radeberger Pils
19.12.2012  
 




Findus
Was ich nie rausgekrigt habe ist wie man einen Text blau macht oder einfärbt von einem Eingabefeld oder Text.
 
21.12.2012  
 




Thomas
Freier
Beispiele per Edits gibt es hier genug oder einfach mit der SKControl.dll oder als RichEdit
KompilierenMarkierenSeparieren
 $H windows.ph
 $H messages.ph
 $H RichEdit.ph
 $I profalt.inc
Def GetSysColor(1) !"USER32","GetSysColor"
Declare hDlg&,Edit&,Textzeile&,hAbbruch&,Exit%
Declare font&,dll&,Text$
Cls
font&=CreateFont("Arioso",16,0,0,0,0)
hDlg& = Create("Dialog",%hWnd,"RichEdit einzeilig ohne Rahmen",400,200,400,200)
hAbbruch& = Create("Button",hDlg&,"Abbruch",180,140,70,24)
setfont hAbbruch&,font&,Text$
dll&=usedll("riched32.dll")
Edit& = control("RichEdit20A","",$543150C0,10,10,280,24,hDlg&,100,%hinstance,$200)
setfont Edit&,font&
Textzeile& = control("RichEdit20A","",$543150C0,10,80,280,24,hDlg&,100,%hinstance,$200)
setfont Textzeile&,font&
declare rtf#
dim rtf#,60
clear rtf#
long rtf#,0=60
long rtf#,4=$40000000
long rtf#,20=rgb(0,0,255)
sendmessage(Edit&,1092,1,rtf#)
sendmessage(Textzeile&,1092,1,rtf#)
dispose rtf#
ShowWindow(Edit&,0)
ShowWindow(Textzeile&,0)
SetStyle Edit&,$50FF00F4
SetStyle Textzeile&,$50FF00F4
SendMessage(Textzeile&,~EM_SETBKGNDCOLOR,0,GetSysColor(15))' Hintergrundfarbe
SendMessage(Textzeile&,~em_SetReadOnly,1,0)' nur Lesen setzen
text$="Ich screibe blau "
SendMessage(edit&, 177, $FFFF, $FFFF)'  EM_SETSEL
SendMessage(edit&, 194, 0, Addr(Text$))' EM_REPLACESEL
text$="Ich bin blau"
SendMessage(Textzeile&, 177, $FFFF, $FFFF)'  EM_SETSEL
SendMessage(Textzeile&, 194, 0, Addr(Text$))' EM_REPLACESEL
ShowWindow(Edit&,1)
ShowWindow(Textzeile&,1)
setfocus(Edit&)

WhileNot Exit%

    WaitInput
    case getfocus(Textzeile&): setfocus(hdlg&)

    If Clicked(hAbbruch&)

        Exit% = 1

    EndIf

EndWhile

DeleteObject font&
DestroyWindow(edit&)
DestroyWindow(Textzeile&)
DestroyWindow(hDlg&)
FreeDLL dll&
 
Gruß Thomas
Windows XP SP2, XProfan X2
21.12.2012  
 




Findus
Danke das probiere ich aus.
 
22.12.2012  
 




Findus
Danke das klappt.
 
27.12.2012  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

10.077 Views

Untitledvor 0 min.
Normann Strübli24.03.2020
rquindt20.04.2016
H.Brill27.08.2015
Rainer Hoefs28.06.2015
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie