English
Includes

Docksplitter for XProfan 10

 
- Page 1 -


there XProfan yet none Splitter has, Have I times the Docksplitter.dll of David SZAFRANSKI for XProfan gewrapped. The DLL is licensed under GPL.

so one Splitter can 2 before erstellte Controls zuordnen, where itself ListBoxen, Edits and ähnliches particularly suit. with the mouse can itself now The larger this both Controls change, or. by Mausclick too one integrally Hide. with the Umsetzung in the Hinterkopt Have I naturally a Implementation in XProfEdit

Snapschuß:



the pkg exists a very small DLL, of/ one Include-File, of/ one Header-File, as well as the supra abgebildeten example.
 $I DockSplitter.inc
Declare DLLhWnd&
DllhWnd& = Splitter_Init()

Ifnot DllhWnd& : End : EndIf

    Window Style 26
    Window 100, 100 - 600, 400
    Declare hList&, hEdit&, hSplitter&
    hList& = Create(ListBox, %hWnd, , 0, 0, 0, 0)

    WhileLoop 1, 10, 1

        AddStrings(hList&, Test  + @Str $(&Loop))

    EndWhile

    hEdit& = Create(MultiEdit, %hWnd, , 0, 0, 0, 0)
    SetText hEdit&, this is one small first Test the DockSplitters!
    hSplitter& = Create(Splitter, 0, 0, 600, 400)
    Splitter_SetPanel(hSplitter&, hList&, hEdit&)
    Splitter_SetPosition hSplitter&, 150
    Declare end%

    WhileNot end%

        WaitInput

    EndWhile

    Splitter_Exit DllhWnd&

plenty Fun so

30 kB
Kurzbeschreibung: Version 0.5
Hochgeladen:10/08/06
Downloadcounter287
Download
 
10/08/06  
 



 
- Page 2 -



Frank
Abbing
here another Splitter-Control, variable verschiebbar. Íst straight with of my derzeitigen Programming abgefallen and can slight on Own Gegebenheiten adjusted go:
 {$cleq}
@Set(ErrorLevel,0)
Declare x&,y&,z&,Text$,xpiadll&
Declare listbox1&,listbox2&,splitter&
Def GetSysColor(1) !USER32,GetSysColor
xpiadll&=UseDll(xpia$)
Window Style 543
Window 0,0-640,480
Cls GetSysColor(15)
UseFont MS Sans Serif,13,0,0,0,0
SetDialogFont 1
splitter&=Create(Button,%hwnd,:,200,0,7,400)
listbox1&=Create(ListBox,%hwnd,0,0,0,200,400)
listbox2&=Create(ListBox,%hwnd,0,207,0,200,400)
ClearList
AddWindows
MoveListToList(listbox1&)
ClearList
AddFonts
MoveListToList(listbox2&)

If 0

    AsmStart GeneriereDatas()

        .data
        point       dd  0,0
        split       dd  0
        profane      dd  0
        listbox1    dd  0
        listbox2    dd  0
        hWnd        dd  0
        uMsg        dd  0
        wParam      dd  0
        lParam      dd  0
        oldproc     dd  0
        .code
        nop

    AsmEnd

    ASMSTART subclass noexport (x&,x&,x&,x&)

        push eax
        push ebx
        push ecx
        push edx
        push edi
        push esi
        push ebp
        push esp
        m2m hWnd,para1
        m2m uMsg,para2
        m2m wParam,para3
        m2m lParam,para4

        .if uMsg == WM_LBUTTONDOWN

            mov    split,TRUE
            invoke LoadCursor,0,IDC_SIZEWE
            invoke SetCursor,eax
            return 0

        .elseif uMsg == WM_LBUTTONUP

            mov    split,FALSE
            return 0

        .endif

        .if uMsg == WM_MOUSEMOVE

            invoke LoadCursor,0,IDC_SIZEWE
            invoke SetCursor,eax

            .if    split == TRUE

                invoke GetCursorPos,addr point
                invoke ScreenToClient,profane,addr point
                lea esi,point
                mov edi,[esi]

                .if SDWORD PTR edi<0

                    mov edi,0

                .endif

                .if edi>400

                    mov edi,400

                .endif

                mov [esi],edi
                lea esi,point
                mov edi,[esi]
                invoke MoveWindow,listbox1,0,0,edi,400,TRUE
                lea esi,point
                mov edi,[esi]
                add edi,7
                mov ebx,400
                sub ebx,edi
                add ebx,7
                invoke MoveWindow,listbox2,edi,0,ebx,400,TRUE
                lea esi,point
                mov edi,[esi]
                invoke MoveWindow,hWnd,edi,0,7,400,TRUE

            .endif

            return 0

        .endif

        pop esp
        pop ebp
        pop esi
        pop edi
        pop edx
        pop ecx
        pop ebx
        pop eax
        invoke CallWindowProc,oldproc,hWnd,uMsg,wParam,lParam
        out:

    ASMEND

EndIf

ASMSTART StartSubclassing(splitter&,%hwnd,listbox1&,listbox2&)

    m2m profane,para2
    m2m listbox1,para3
    m2m listbox2,para4
    invoke SetWindowLong,para1,GWL_WNDPROC,addr subclass
    mov oldproc,eax

ASMEND

While 1

    waitinput
    Case %key=2:Break

EndWhile

DestroyWindow(%hwnd)
FreeDll xpiadll&
End

The same code here for User, The XPIA and XPSE not installs having (Why too always )
DECLARE XPIA_#,XPIA$,EXPIA&,X&,Y&,Z&,TEXT$,XPIADLL&,LISTBOX1&,LISTBOX2&,SPLITTER&
DIM XPIA_#,2560
CLEAR XPIA_#
LONG XPIA_#,0=9460301,3,4,65535,184
LONG XPIA_#,24=64
LONG XPIA_#,60=184,247078670,-855002112,1275181089,1750344141,1881174889,1919381362,1663069537,1869508193,1700929652,1853190688,544106784,542330692,1701080941,168627502,36
LONG XPIA_#,128=-1826774061,-1066155369,-1066155369,-1066155369,-1067326869,-1066155370,-1067393767,-1066155379,1751345490,-1066155369
LONG XPIA_#,184=17744,131404,1161521813
LONG XPIA_#,204=554565856,201654539,1536,512
LONG XPIA_#,224=4236,4096,8192,268435456,4096,512,4
LONG XPIA_#,256=4
LONG XPIA_#,264=12288,512
LONG XPIA_#,276=2,1048576,4096,1048576,4096
LONG XPIA_#,300=16,5200,118,4940,40
LONG XPIA_#,344=8192,132
LONG XPIA_#,400=4096,36
LONG XPIA_#,432=1297301837,12851,1222,4096,1536,512
LONG XPIA_#,468=-536870880,1818587694,25455,148,8192,512,2048
LONG XPIA_#,508=1107296320,5124,5106,5092,5078,5064,5048,5030,5136
LONG XPIA_#,652=-1192457387,1,836297,-2014834838,-16777214,93259893,268439588,-1895008769,1058821,276168464,271320463,1979650048,805670676,-15728624,93263989,268439604,-1893960193,1062917,544603920,272369039,1979650048,1074106148
LONG XPIA_#,740=-15728624,93268085,268439620,-1892911617,1067013,813039376,273417615,1979650048,1342541620,-15728624,93272181,268439636,-1891863041,1071109,1081474832,274466191,1438846976,-997987189,-62535684
LONG XPIA_#,820=-40984,-1010200321,-2081649835,1170734276,1276,-11868160,1397817343,1448563281,905925717,268439588,276301199,905908224,268439592,276563343,905908224,268439596,276825487,905908224,268439600,277087631,1031868416
LONG XPIA_#,904=268439676,513,96935541,268439656,1,8356968,-402626048,388,26273872,384499712,276577665,33689600,175439872,275252679,4096,1031864320,268439676,512,12813583,-2073559040,1778385023,21686272,-397410304,342,275266947
LONG XPIA_#,1004=251727872,42117,274753536,568856576,1744830465,268439648,275527167,703074304,-1929379839,1073205,-2093053168,92078335,191,-1862303488,1979711489,26263301,1049165824,274740621,1049300992,-1872232086,1459617793
LONG XPIA_#,1088=6946922,275789311,-471330816,-1929379840,1073205,-2093053168,-1866790969,721420289,130253791,-1872232086,1392508929,-11075478,1078325,12118032,898433024,268439648,23740043,102504,1778870784,905926400,268439672
LONG XPIA_#,1172=39400,1583176704,1532582495,-2076836008,-15728624,1081397,2083913488,-15728624,1079349,-2009727216,-401604592,86,1098441,-2081649835,1170734276,1276,-37820416,905969663,268439592,275514767,905908224,268439596
LONG XPIA_#,1260=275776911,905908224,268439600,276039055,1013452800,1779433489,607518716,-401604592,52,1083555,281200912,637520896,268439576,269755903,637472768,268439568,269231615,637472768,268439560,268707327,637472768,268439552
LONG XPIA_#,1348=270280191,-859041792,4980
LONG XPIA_#,1368=5154,4096
LONG XPIA_#,1396=5124,5106,5092,5078,5064,5048,5030,5136
LONG XPIA_#,1432=1852990827,842230885,1819042862,1245184,1819042115,1684957527,1917876079,4285295,1699152108,1920287604,1349676915,29551,1699152177,1937331060,1869377347,25165938,1684107084,1936880963,4289135,1867317672,1767335286
LONG XPIA_#,1516=2003788910,30998528,1701995347,1867804261,1701407811,29806,1699938803,1920287604,7499635,1699938845,1852397428,1282895716,1097297519,1937047552,842232421,1819042862,1684471808,775041897,7105636,1885434736,1818504809
LONG XPIA_#,1600=108
LONG XPIA_#,1620=1161521813
LONG XPIA_#,1628=5260,1,2,2,5240,5248,5256,4391,4808,5286,5301,65536,1819300703,1702130793,1866673522,1869771886,1852137324,1818504808,1699151980,1769104750,1147499109,1935766625,1635013376,1968403570,1634493282,1852404595,103
LONG XPIA_#,2048=4096,132,816656548,817836214,819015880,820195546,821375212,822554878,823734544,827863330,828649822,829436266,830222710,831009154,833761684,835203518,838218218,839266816,842150417,844182086,847000177,849556112
LONG XPIA_#,2136=850342569,851129013,853684956,854471400,855257844,856109823,857486097,858272546,859058990,859845434,13126
XPIA$=$TEMPDIR+/_Splitter-Control_enh.dll
FILEMODE 1
ASSIGN #1,XPIA$
OPENRW #1
BLOCKWRITE #1,XPIA_#,0,2560
CLOSERW #1
DISPOSE XPIA_#
@SET(ErrorLevel,0)
DEF GETSYSCOLOR(1) !USER32,GetSysColor
XPIADLL&=USEDLL(XPIA$)
WINDOWSTYLE 543
WINDOW 0,0-640,480
CLS GETSYSCOLOR(15)
USEFONT MS Sans Serif,13,0,0,0,0
SETDIALOGFONT 1
SPLITTER&=CREATE(Button,%HWND,:,200,0,7,400)
LISTBOX1&=CREATE(ListBox,%HWND,0,0,0,200,400)
LISTBOX2&=CREATE(ListBox,%HWND,0,207,0,200,400)
CLEARLIST
ADDWINDOWS
MOVELISTTOLIST(LISTBOX1&)
CLEARLIST
ADDFONTS
MOVELISTTOLIST(LISTBOX2&)

IF 0

    EXTERNAL(XPIA$,GeneriereDatas)

ENDIF

EXTERNAL(XPIA$,StartSubclassing,SPLITTER&,%HWND,LISTBOX1&,LISTBOX2&)

WHILE 1

    WAITINPUT

    IF %KEY=2

        BREAK

    ENDIF

ENDWHILE

DESTROYWINDOW(%HWND)
FREEDLL XPIADLL&
END

as Splitter-Control serves one gesubclasster Button.
 
10/22/06  
 




Uwe
''Pascal''
Niemeier
Hello people!

we're already time thereby are...
window 50,50-700,500
declare ReBar&,ReBar#,Lb1&,Lb2&,Lb3&,a#
dim a#,16
Lb1&=create(listbox,%hwnd,,0,0,0,0)
Lb2&=create(listbox,%hwnd,,0,0,0,0)
Lb3&=create(listbox,%hwnd,,0,0,0,0)
clearlist
addwindows
movelisttolist(Lb1&)
clearlist
addfonts
movelisttolist(Lb2&)
clearlist
addfiles *.*
movelisttolist(Lb3&)
clear a#
long a#,0=8
long a#,4=$FFFF---everything initialisieren
external(comctl32.dll,InitCommonControlsEx,a#)
--Style: $50000000 | ~CCS_NORESIZE | ~RBS_FIXEDORDER
ReBar&=Control(ReBarWindow32,,$50000804 ,10,10,600,400,%hwnd,1,0)
struct ReBar=Size&,Mask&,Style&,clrFore&,clrBack&,lpText&,cch&,iImage&,hwndChild&,
cxMinChild&,cyMinChild&,cx&,hbmBack&,wID&,cyChild&,cyMaxChild&,cyIntegral&,
cxIdeal&,lParam&,cxHeader&
dim ReBar#,ReBar--REBARBANDINFO
clear ReBar#

with ReBar#

    .Size&=sizeof(ReBar#)
    .Mask&=$71------RBBIM_STYLE | RBBIM_CHILD | RBBIM_CHILDSIZE | RBBIM_SIZE
    .cyMaxChild&=1--must not zero his
    .Style&=256------------------------RBBS_NOGRIPPER (1. volume without handle)
    .cxMinChild&=5---------------------minimum wide
    .cyMinChild&=height(ReBar&)--------Höhe the Bandes
    .cx&=100---------------------------default wide
    .hwndChild&=Lb1&-------------------volume 1
    sendmessage(ReBar&,1025,0,ReBar#)--RB_INSERTBAND
    .Style&=128------------------------RBBS_GRIPPERALWAYS (following bands with handle)
    .cxMinChild&=50--------------------minimum wide
    .cyMinChild&=200-------------------Höhe the Bandes
    .cx&=300---------------------------default wide
    .hwndChild&=Lb2&-------------------volume 2
    sendmessage(ReBar&,1025,1,ReBar#)--RB_INSERTBAND
    .cxMinChild&=10--------------------minimum wide
    .cyMinChild&=300-------------------Höhe the Bandes
    .hwndChild&=Lb3&-------------------volume 3
    sendmessage(ReBar&,1025,2,ReBar#)--RB_INSERTBAND

endwith

while 1

    waitinput

    if sendmessage(ReBar&,1051,0,0) > height(ReBar&)--1051 = RB_GETBARHEIGHT

        clear a#--Umklappen rückgängig, if Gripper to under pulled watts
        sendmessage(ReBar&,1047,0,a#)--RB_SIZETORECT

    endif

endwhile


though it Yes eigendlich into area CodeSnippets heard... but it fit hold strain about.

SeeYou
Pascal
 
10/24/06  
 



Wow the known I Yes not at all! this is simply super!
 
10/24/06  
 



Beauty idea the ReBar so To *abuse*
Have with ReBar not yet plenty made, because create is simply, but management not (if one it as Toolbar-substitute uses)
 
10/24/06  
 




Frank
Abbing
ReBar down wander functions not yet integrally. The Controls vanish and are first at next Click again there.
otherwise: Coole idea!
 
10/24/06  
 




Uwe
''Pascal''
Niemeier
Hello people!

[quote:a0651eeb8e]ReBar down wander functions not yet integrally. The Controls vanish and are first at next Click again there. [/quote:a0651eeb8e]
with entsprechender attitude the ReBars go The bands (pages the Splitters) then among themselves displayed.
About whom Style could I the yet not suppress, and Profan recognize The suitable Notify-Message not.
in the Ernstfall helps there only SubClassing the Parents

integrally hairy becomes the with several ineinander verschachtelten horizontalen and vertikalen ReBars...

SeeYou
Pascal
 
10/25/06  
 




Rolf
Koch
Real genial!
there can really feinste things with make. unfortunately I get soetwas How under in the Image not there, the would The enhancement schlechthin. means Yes, one should The Header with Bitmaps replace can. I versuchs time moreover, if soetwas with Rebar at all possible is.
window 50,50-700,500
USEFONT MS Sans Serif,13,0,0,0,0
SETDIALOGFONT 1
declare ReBar&,ReBar#,Lb1&,Lb2&,Lb3&,a#
dim a#,16
DECLARE a1&,b1&,c1&
DECLARE a2&,c1&,c2&,c3&
DECLARE a3&
Lb1&=create(Text,%hwnd,,0,0,0,0)
CREATE(TEXT,lb1&,Page 1,0013,0013,0130,0014)
a1&    = CREATE(RADIOBUTTON,lb1&,Check Me Page 1 A,0013,0033,0120,0017)
a2&    = CREATE(RADIOBUTTON,lb1&,Check Me Page 1 B,0013,0053,0120,0017)
a3&    = CREATE(RADIOBUTTON,lb1&,Check Me Page 1 C,0013,0073,0120,0017)
Lb2&=create(Text,%hwnd,,0,0,0,0)
CREATE(TEXT,lb2&,Page 2,0013,0013,0130,0014)
b1&    = CREATE(RADIOBUTTON,lb2&,Check Me Page 2 A,0013,0033,0120,0017)
b2&    = CREATE(RADIOBUTTON,lb2&,Check Me Page 2 B,0013,0053,0120,0017)
b3&    = CREATE(RADIOBUTTON,lb2&,Check Me Page 2 C,0013,0073,0120,0017)
Lb3&=create(Text,%hwnd,,0,0,0,0)
CREATE(TEXT,lb3&,Page 3,0013,0013,0130,0014)
c1&    = CREATE(RADIOBUTTON,lb3&,Check Me Page 3 A,0013,0033,0120,0017)
c2&    = CREATE(RADIOBUTTON,lb3&,Check Me Page 3 B,0013,0053,0120,0017)
c3&    = CREATE(RADIOBUTTON,lb3&,Check Me Page 3 C ,0013,0073,0120,0017)
clear a#
long a#,0=8
long a#,4=$FFFF---everything initialisieren
external(comctl32.dll,InitCommonControlsEx,a#)
--Style: $50000000 | ~CCS_NORESIZE | ~RBS_FIXEDORDER
ReBar&=Control(ReBarWindow32,,$50000884 ,10,10,300,400,%hwnd,1,0)
struct ReBar=Size&,Mask&,Style&,clrFore&,clrBack&,lpText&,cch&,iImage&,hwndChild&,
cxMinChild&,cyMinChild&,cx&,hbmBack&,wID&,cyChild&,cyMaxChild&,cyIntegral&,
cxIdeal&,lParam&,cxHeader&
dim ReBar#,ReBar--REBARBANDINFO
clear ReBar#

with ReBar#

    .Size&=sizeof(ReBar#)
    .Mask&=$73 ------RBBIM_STYLE | RBBIM_CHILD | RBBIM_CHILDSIZE | RBBIM_SIZE
    .cyMaxChild&=1--must not zero his
    .Style&=128------------------------RBBS_GRIPPERALWAYS (following bands with handle)
    .cxMinChild&=5---------------------minimum wide
    .cyMinChild&=height(ReBar&)--------Höhe the Bandes
    .cx&=100---------------------------default wide
    .hwndChild&=Lb1&-------------------volume 1
    sendmessage(ReBar&,1025,0,ReBar#)--RB_INSERTBAND
    sendmessage(ReBar&,2048,0,ReBar#)--RB_INSERTBAND
    .Style&=128------------------------RBBS_GRIPPERALWAYS (following bands with handle)
    .cxMinChild&=5--------------------minimum wide
    .cyMinChild&=height(ReBar&)-------------------Höhe the Bandes
    .cx&=100---------------------------default wide
    .hwndChild&=Lb2&-------------------volume 2
    sendmessage(ReBar&,1025,1,ReBar#)--RB_INSERTBAND
    .cxMinChild&=5--------------------minimum wide
    .cyMinChild&=height(ReBar&)-------------------Höhe the Bandes
    .hwndChild&=Lb3&-------------------volume 3
    sendmessage(ReBar&,1025,2,ReBar#)--RB_INSERTBAND

endwith

while 1

    waitinput

    if sendmessage(ReBar&,1051,0,0) > height(ReBar&)--1051 = RB_GETBARHEIGHT

        clear a#--Umklappen rückgängig, if Gripper to under pulled watts
        sendmessage(ReBar&,1047,0,a#)--RB_SIZETORECT

    endif

endwhile


 
11/07/06  
 




Rolf
Koch
Wow, I habs. the Rebarteil can itself but well verarschen *lol*
I bastel another bisschen and then lay I it time hierhin
 
11/07/06  
 



@Rolf RC1? oO
 
11/07/06  
 



 
- Page 3 -



Rolf
Koch
*lol* here my small idea and Umsetzung.
[...] 

Runs by me correct with the XProfan Version: 10.0ß-NT RC1.
can me Yes time write, as naturally again elsewhere Problems power
 
11/07/06  
 



Genial Rolf! the Result sees simply pointed from!
 
11/07/06  
 




Rolf
Koch
means scheints still To walk - The Thanks counts vorallem on Pascal, there it here whom Grundstock supplied has. there can yet More draus make.
 
11/07/06  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

no Systemprofil laid out. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Please register circa a Posting To verfassen.
 

Topic-Options

20.256 Views

Untitledvor 0 min.
Gast.081509/06/24
Rc01/31/22
Jörg Sellmeyer06/23/20
jacdelad12/20/18
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