Deutsch
Quelltexte/ Codesnippets

Edits Eigenschaften Eingabefelder Verschiedenen

 

KompilierenMarkierenSeparieren
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Eingabefelder (Edits) mit verschiedenen Eigenschaften (ab Profan² 5.0)
Lauffähig ab Profan-Version 5.0
Edits1   Beispiele von Eingabefeldern (Edits) mit verschiedenen Eigenschaften.
Version 1.0  3.2.2002.        Das Programm kann frei benutzt werden, für
Schäden kann keine Haftung übernommen werden.
Autor: Gerhard Putschalka
email: g.putschalka@web.de
homepage: http://members.telering.at/g.putschalka/index.html
Die Felder werden im 3D Stil mit dem API-Aufruf CreateWindowEx erzeugt und sollten
daher auch mit Profanversionen ab 5.0-32 einsetzbar sein (es gibt zwar in 4.5
bereits die Funktion @DEF, aber hier sind nur max. 8 Parameter möglich. Das API
CreateWindowEx benötigt jedoch 12 Parameter).
@CreateWindowEx($0000280,Klasse#,Text#,$54810080,X1,Y1,X2,Y2,N,0,%hinstance,$0200)
die Werte für  N, X1, Y1, X2, Y2 entsprechen den Angaben wie bei @CreateEdit
Der 4. Parameter bestimmt die Feldeigenschaften:
 $5481xxxx
........0 = linksbündige Eingabe
........1 = mittige Eingabe
........2 = rechtsbündige Eingabe
........4 = mehrzeilige Eingabe (MultiEdit ?)
........8 = nur Großbuchstaben (Kleinbuchstaben werden umgesetzt)
.......1. = nur Kleinbuchstaben (Großbuchstaben werden umgesetzt)
.......2. = Password (es werden nur * angezeigt)
.......4. = vertikal Scroll
.......8. = horizontal Scroll. Ist das Feld zu kurz, wird die Anzeige weitergeschoben.
......1.. = Nohideselect ?
......4.. = OEM Convert (der eingegebene String wird in ANSI konvertiert)
......8.. = Read only. Das Feld wird grau angezeigt, erlaubt aber keine Eingabe.
.....2... = nur Zifferneingabe möglich (aber kein Komma, Punkt oder Minus)
diese Werte können auch addiert werden. Sind aber als Hexwerte anzusehen. So ergibt z.B.
8 und 4 zwar den Wert 12 muß aber als Hexwert C eingesetzt werden
(die Zählweise in Hex ist: 0123456789ABCDEF ! Zählt also von 0 bis 15)
Definition der Funktion (link zum API)
Def @CreateWindowEx(12) ! USER32,CreateWindowExA
Declare Links&,LinksG&,LinksB&,LinksP&,LinksA&,LinksD&,Mitte&,Rechts&,OK%,_dlg%,ChkB%
Declare Klasse#,Text#
Windowtitle Eingaben:
Window 0,0-640,450
CLS
Let _dlg% = @CreateDialog(%Hwnd,Eingabefelder mit verschiedenen Eigenschaften,
170,20,470,430)
Dim Klasse#,10
Dim Text#,50
String Klasse#,0 = EDIT  muß EDIT lauten
String Text#,0   =       ist Vorgabetext für das Eingabefeld (hier leer - kein Wert)
1. linksbündige Eingabe
@CreateText(_dlg%,F1,10,40,20,20)
@CreateText(_dlg%,linksbündig,50,40,80,20)
Let Links& = @CreateWindowEx($0000280,Klasse#,Text#,$54810080,140,40,100,20,_dlg%,0,
%hinstance,$0200)
2. mittige Ausrichtung
@CreateText(_dlg%,F2,10,80,20,20)
@CreateText(_dlg%,mittig,90,80,40,20)
hier wird ein Vorgabewert mit der Erstellung des Feldes mitgegeben
String Text#,0   = 987  Vorgabetext
Let Mitte& = @CreateWindowEx($0000280,Klasse#,Text#,$54810081,140,80,100,20,_dlg%,0,
%hinstance,$0200)
String Text#,0   =   Vorgabewert wieder entfernen
3. rechtsbündige Ausrichtung
@CreateText(_dlg%,F3,10,120,20,20)
@CreateText(_dlg%,rechtsbündig,40,120,90,20)
Let Rechts& = @CreateWindowEx($0000280,Klasse#,Text#,$54810082,140,120,100,20,_dlg%,0,
%hinstance,$0200)
setze einen Vorgabewert unabhängig von der Erstellung des Feldes.
SetText Rechts&,F012
4. linksbündige Eingabe, Umsetzung Kleinbuchstaben in Großbuchstaben
@CreateText(_dlg%,F4,10,160,20,20)
@CreateText(_dlg%,linksbündig,50,160,80,20)
@CreateText(_dlg%,Umsetzung in Großbuchstaben,250,160,200,20)
Let LinksG& = @CreateWindowEx($0000280,Klasse#,Text#,$54810088,140,160,100,20,_dlg%,0,
%hinstance,$0200)
5. linksbündige Eingabe, Feldeingabe durch Breite begrenzt. Ist nicht brauchbar, weil
die Zeichenbreite die Begrenzung ergibt! Es können z.B. viel mehr i als M
eingegeben werden.
@CreateText(_dlg%,F5,10,200,20,20)
@CreateText(_dlg%,linksbündig,50,200,80,20)
@CreateText(_dlg%,begrenzte Eingabebreite !,250,200,200,20)
Let LinksB& = @CreateWindowEx($0000280,Klasse#,Text#,$54810000,140,200,100,20,_dlg%,0,
%hinstance,$0200)
6. linksbündige Eingabe, Feldeingabe durch max. Stellenanzahl begrenzt. Ist besser!
Hier spielt die Zeichenbreite keine Rolle.
@CreateText(_dlg%,F6,10,240,20,20)
@CreateText(_dlg%,linksbündig,50,240,80,20)
@CreateText(_dlg%,Eingabe auf 5 Stellen begrenzt,250,240,200,20)
Let LinksA& = @CreateWindowEx($0000280,Klasse#,Text#,$54810080,140,240,100,20,_dlg%,0,
%hinstance,$0200)
@SendMessage(LinksA&,$00C5,5,0)  Parameter 3 ist Anzahl max. Stellen (hier 5)
7. linksbündige Eingabe, Password.
@CreateText(_dlg%,F7,10,280,20,20)
@CreateText(_dlg%,linksbündig,50,280,80,20)
@CreateText(_dlg%,Password,250,280,200,20)
Let LinksP& = @CreateWindowEx($0000280,Klasse#,Text#,$54810020,140,280,100,20,_dlg%,0,
%hinstance,$0200)
8. linksbündige Eingabe, geschütztes Feld.
Grundsätzlich muß das Feld nicht direkt als geschützt erstellt werden. Jedes andere
Eingabefeld könnte ebenso durch @SendMessage(Handle&,$00CF,x,0) gesteuert werden
(x: 0 = ungeschützt, 1 = geschützt)
@CreateText(_dlg%,F8,10,320,20,20)
@CreateText(_dlg%,linksbündig,50,320,80,20)
@CreateText(_dlg%,geschützt,250,320,200,20)
Let LinksD& = @CreateWindowEx($0000280,Klasse#,Text#,$54810880,140,320,100,20,_dlg%,0,
%hinstance,$0200)
setze einen Text, damit was angezeigt wird
SetText LinksD&,ABCDEF012
mit der Checkbox kann der Schutz aus- und eingeschaltet werden.
Let ChkB% = @CreateCheckBox(_dlg%,Feld schützen?,140,350,120,20)
setze Checkbox am Beginn auf geschützt
SetCheck ChkB%,1
Anmerkung: das Zuweisen von Texten und das aus- und einschalten des Schutzes ist bei
allen hier verwendeten Feldern anwendbar.
Let OK% = @CreateButton(_dlg%,Ende,380,370,50,25)
@SetFocus(Links&)
freigeben der Bereiche, sie werden nicht mehr gebraucht.
Dispose Klasse#
Dispose Text#

WhileNot @GetFocus(OK%)

    WaitInput
    Hier wird der Schutz des geschützten Feldes ein- oder ausgeschaltet.
    im Parameter 3 wird 0 oder 1 (Zustand der Checkbox) übergeben.
    @SendMessage(LinksD&,$00CF,@GetCheck(ChkB%),0)

    If (@GetCheck(ChkB%) = 1)

        @CreateText(_dlg%,geschützt,250,320,200,20)

    Else

        @CreateText(_dlg%,nicht geschützt,250,320,200,20)

    EndIf

EndWhile

Ergebisanzeige.
Alle Feldinhalte werden, ohne Berücksichtigung der Ausrichtung in den angezeigten
Feldern, linksbündig übergeben!
Print F1 =,@GetText$(Links&)
Print F2 =,@GetText$(Mitte&)
Print F3 =,@GetText$(Rechts&)
Print F4 =,@GetText$(LinksG&)
Print F5 =,@GetText$(LinksB&)
Print F6 =,@GetText$(LinksA&)
Print F7 =,@GetText$(LinksP&)
Print F8 =,@GetText$(LinksD&)
WaitInput  warte auf Taste
end
 
15.07.2007  
 



Zum Quelltext


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

1.712 Betrachtungen

Unbenanntvor 0 min.
Walter09.05.2021
Member 820412718.04.2020
Jörg Sellmeyer12.06.2019
rquindt06.05.2018
Mehr...

Themeninformationen

Dieses Thema hat 1 Teilnehmer:

unbekannt (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


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