Delphi - Office 97 stílusú Toolbar

Office 97 1. rész

forráskód letöltése
Ha mondjuk elindít egy Word szövegszerkesztőt, akkor a képernyő tetején lévő nyomógombsornál, vagyis a TToolBar komponens bal szélén látható két függőleges vonal. Ennél megfogva az egész nyomógombsort el tudjuk mozdítani, sőt akár a képernyő bármelyik széléhez közelítve át tudjuk helyezni. Ha viszont a képernyő közepén engedjük fel az egér gombját, akkor létrejön egy kis ablak, melyben a nyomógombok helyezkednek el.
Ez az ablak fsStayOnTop stílusú és bsSizeToolWindow a BorderStyle property-e. Ezáltal az ablak méretezhető, de csak oly módon, hogy a nyomógombok ha csak több sorban férnek el, ott mindig azonos számban forduljanak elő. Például ha összesen 12 nyomógombunk van egy TToolBar-on, akkor az ablak méretét meg tudjuk úgy változtatni, hogy 2 sorban 6 - 6 nyomógomb legyen, vagy 3 sorban 4 - 4.

Ebben a cikkben azt mutatjuk be, hogy hogyan lehet a saját alkalmazásunkban a fent leírtakat megvalósítani. Hogy mindezt egyszerűen megtehessük, minimum a 4.0-s Delphi-re van szükségünk. Ha mondjuk elindít egy Word szövegszerkesztőt, akkor a képernyő tetején lévő nyomógombsornál, vagyis a TToolBar komponens bal szélén látható két függőleges vonal. Ennél megfogva az egész nyomógombsort el tudjuk mozdítani, sőt akár a képernyő bármelyik széléhez közelítve át tudjuk helyezni. Ha viszont a képernyő közepén engedjük fel az egér gombját, akkor létrejön egy kis ablak, melyben a nyomógombok helyezkednek el.
Ez az ablak fsStayOnTop stílusú és bsSizeToolWindow a BorderStyle property-e. Ezáltal az ablak méretezhető, de csak oly módon, hogy a nyomógombok ha csak több sorban férnek el, ott mindig azonos számban forduljanak elő. Például ha összesen 12 nyomógombunk van egy TToolBar-on, akkor az ablak méretét meg tudjuk úgy változtatni, hogy 2 sorban 6 - 6 nyomógomb legyen, vagy 3 sorban 4 - 4.

Ebben a cikkben azt mutatjuk be, hogy hogyan lehet a saját alkalmazásunkban a fent leírtakat megvalósítani. Hogy mindezt egyszerűen megtehessük, minimum a 4.0-s Delphi-re van szükségünk.

Az Additional palettán jól elrejtve találunk egy TControlBar komponenst. Tegyünk fel a Form-ra belőle néhányat, majd sorban állítsuk át az Align property-k értékét, úgy hogy az ablak minden szélére jusson belőle egy-egy. (A mi példaprogramunkban csak a Form alján és tetején van ilyen komponens). Az AutoSize property-t pedig állítsuk igazra. Így a TControlBar mérete követni fogja a TToolBar komponensek által meghatározott méretet, vagy ha épp egy sincs belőlük a TControlBar-on, akkor csak egy keskeny sáv jelenik meg.

Miután ez megvan, tegyünk fel tetszés szerint néhány TToolBar komponenst a TControlBar-ra. Hozzunk létre nyomógombokat, rendeljünk hozzá tetszőleges funkciókat. Minden TToolBar komponensnél állítsuk át a DragKind property-t dkDock-ra, valamint a DragMode property-t dmAutomatic-ra és ezzel kész is vagyunk.

Ha elindítottuk a programot a TToolBar bal szélén lévő két függőleges vonalnál megfogva oda vihetjük a TToolBar-okat ahova csak akarjuk, illetve ahol TControlBar komponens is található.

Office 97 cikksorozat

Office 97 stílusú Toolbar - Office 97 1. rész

Office 97 stílusú ToolBar - Office 97 2. rész