Re: listbox an beliebiger stelle plazieren. GEHT


[ Nachträge ] [ Nachtrag schicken ] [ Profan² News Board ]

Von Richard Maurukas am 21 März, 1998 um 14:08:25:

Antwort auf: Re: listbox an beliebiger stelle plazieren von Thomas Hölzer am 20 März, 1998 um 20:56:22:

'==========================================================================
'FRELSBOX.INC (c) 1998 Richard Maurukas
'==========================================================================
'Frei positionierbare Listbox beim Aufruf.
'Da die internen Profan-Listboxen beim Aufruf an einer festen Position
'erscheinen, kann man mit dieser INC diese Listen nachbilden und beim
'Aufruf an eine gewünschte Fensterposition stellen.
'
'Mit frei definierbarem Fenstertitel
'Mit frei definierbarer Fenstergröße
'Mit frei definierbarer Listboxgröße
'Mit frei wählbarem Font
'Sortiert oder Unsortiert
'Anzeige eines ICON
'.....
'Binden Sie die PROC CREATEPOS_LISTBOX als INC in ihr Profan-Programm ein.
'Aufruf aus dem Profan Programm:
'CREATEPOS_LISTBOX Para1, Par2, Para3, Para4, Para5, Para6, Para7, Para8
'
'Parameter1: ist das Handle des übergeordneten Fensters.
' Z.B %HWND
'
'Parameter2: Sortierung der Listbox
' 1 für Sortiert, <>1 unsortiert
'
'Parameter3: der Rückgabewert
' 1 Gibt den gewählten Text aus der Listbox zurück
' 2 Gibt den Index des gewählten Eintrages zurück
'
'Parameter4: Der Fenstertitel
'
'Parameter5: Die Fenster X Koordinate
'Parameter6: Die Fenster Y Koordinate
'Parameter7: Die Fensterbreite
'Praameter8: Die Fensterhöhe
'
'Beispiel für den Aufruf einer Listbox aus dem Hauptprogramm:
' clearlist
' AddFonts
' CREATEPOS_LISTBOX %HWND,1,1,"Gibt den gewählten Text mit OK zurück",0,0,300,200
'
' Erstellt eine Sortierte Listbox im Hauptfenster in der angegebenen
' Fenster- und Listboxgröße mit dem definierten Font. Der Rückgabewert
' ist der ausgewählte Text in der Listbox.
'
' Die Position und Größe der Listbox innerhalb des Fensters sowie die Positionen
' und Größe der Buttons kann in der INC je nach Geschmack geändert werden.
'
'
'===========================================================================================
Declare Ende%

'------------------------------Begin FRELSBOX.INC ------------------------------------------
PROC CREATEPOS_LISTBOX

PARAMETERS VERSCHIEB_WINDOW%, VERSCHIEB_SORTIERT%,VERSCHIEB_MODUS%, VERSCHIEB_FENSTERTITEL$,VER_X%,VER_Y%,VER_DX%,VER_DY%
DECLARE VERSCHIEB_DIALOG% , VERSCHIEB_LISTE1%
DECLARE VERSCHIEB_OK% , VERSCHIEB_BREAK%
DECLARE VERSCHIEB_LISTPOS% , VERSCHIEB_LISTTEXT$

Usefont "Arial",14,0,0,0,0 'Ihr gewünschter Font

Let VERSCHIEB_DIALOG% =Createdialog(VERSCHIEB_WINDOW%,VERSCHIEB_FENSTERTITEL$,VER_X%,VER_Y%,VER_DX%,VER_DY%)
If equ(VERSCHIEB_SORTIERT%,1)
let VERSCHIEB_LISTE1% =CreateSortedlistbox(VERSCHIEB_DIALOG%,"",10, 10,sub(VER_DX%,20),sub(VER_DY%,80))
else
let VERSCHIEB_LISTE1% =Createlistbox(VERSCHIEB_DIALOG%,"" , 10, 10,sub(VER_DX%,20),sub(VER_DY%,80))
ENDIF
let VERSCHIEB_OK% =Createbutton (VERSCHIEB_DIALOG%,"&OK" , sub(VER_DX%,180),sub(VER_DY%,55),80, 20)
let VERSCHIEB_BREAK% =Createbutton(VERSCHIEB_DIALOG%,"&Abbruch",sub(Ver_DX%,90),sub(VER_DY%,55),80, 20)

createicon(VERSCHIEB_DIALOG%,"EDITOR",10,sub(VER_DY%,60))

Sendmessage(VERSCHIEB_LISTE1%,$0030,%Font,0)

MovelistToList(VERSCHIEB_LISTE1%)

whilenot or(Getfocus(VERSCHIEB_OK%),Getfocus(VERSCHIEB_BREAK%))
Let VERSCHIEB_LISTPOS% =GetCursel(VERSCHIEB_LISTE1%)
let VERSCHIEB_LISTTEXT$=GetString$(VERSCHIEB_LISTE1%,VERSCHIEB_LISTPOS%)
wend
if Getfocus(VERSCHIEB_BREAK%)
DestroyWindow(VERSCHIEB_DIALOG%)
Return -1
else
DestroyWindow(VERSCHIEB_DIALOG%)
case equ(VERSCHIEB_MODUS%,1):Return VERSCHIEB_LISTTEXT$
case equ(VERSCHIEB_MODUS%,2):Return VERSCHIEB_LISTPOS%
endif
ENDPROC
'---------------------------------END FRELSBOX.INC --------------------------------------

'Beispiel zum Aufruf aus dem Haupt-Programm
'
Window 0,0-640,480
Windowtitle "Frei positionierbare Listbox, (c) 1998 Richard Maurukas"
Popup "Datei"
Appendmenu 101,"Liste für Text einblenden"
Appendmenu 102,"Liste für Index einblenden"
Separator
Appendmenu 199,"Beenden"
@ListBox$("Standard-Position bei Aufruf:",7)
whilenot ende%
waitinput
if menuitem(101)
clearlist
addfonts
CREATEPOS_LISTBOX %HWND,1,1,"Gibt den gewählten Text mit OK zurück",40,20,500,200
case gt(@$(0),-1):Print "Der gewählte Text in der Liste ";@$(0)
case equ(@$(0),-1):Print "Sie haben Abbrechen gedrückt"
Elseif Menuitem(102)
clearlist
Addfiles "*.*"
CREATEPOS_LISTBOX %HWND,2,2,"Gibt den gewählten Index mit OK zurück",140,100,250,300
case gt(@%(0),-1): Print "Die gewählte Position in der Liste ";@%(0)
case equ(@%(0),-1):Print "Sie haben Abbrechen gedrückt"
elseif Menuitem(199)
end
endif
Wend
end

'mfg
'Richard



Nachträge:



Nachtrag schreiben

Name:
E-Mail:

Subject:

Nachricht:

Link Adresse:
Link Titel:
Bild Adresse:


[ Nachtrag ] [ Nachtrag schreiben ] [ Profan² News Board ]