ПредишенСледващото

За да стартирате заеми изображения, които са рисувани върху бутоните в лентата с инструменти. След това ние ще ви покажем как да създадете контрол Toolbar тялото на прозореца.

Подгответе изображения за бутони

В предишните обеми на "програмист библиотеки система", която сме създали Toolbar Win16 означава. След това за всеки бутон, сме подготвили три различни изображения - за натискане, пресовани и заключени състояние. Ако бутоните много, трябва да се направи за дълго време.

Сега трябва само един образ, обаче, той трябва да бъде поставен чертежи за всички бутони. Като пример, най-добре е да се вземе TOOLBAR.BMP файл, който се генерира автоматично генератор AppWizard приложение от Microsoft Visual C ++ (фиг. 2.1).

Фиг. 2.1. Изображение Standard Toolbar бутони за управление. която е създадена от AppWizard генератор приложение

Можете да създадете свой образ, като файла като основа за изменение на съществуващите икони или да добавите нови. Можете да използвате, например, прилагането на Paint, която е част от Microsoft Windows 95. Можете също така да се създаде нов BMP-файл, който трябва да бъде 16-цвят. Друго условие - всички икони в този образ трябва да са с еднакъв размер.

Във всеки случай, трябва да добавите и създадения имидж в файл заявление на ресурсите, да му осигурява идентификатор, например:

Ако използвате Microsoft Visual C ++, а след това тази среда за разработка на приложения ще направи всички необходими промени в RC-файл автоматично, веднага след като се определи подходящ ресурс.

Описание на бутоните

След това трябва да се създаде набор от структури TBBUTTON. който описва бутоните и разделителите между групите на бутони. Този масив трябва да бъде запазено една структура за всеки бутон и бутони за всяка група сепаратор.

В commctrl.h файл съдържа определение на TBBUTTON структура:

В iBitmap всеки масив структури трябва да се напише номера на ключа (като се започне от нулата). За сепаратора в тази област трябва да показва стойност, равна на нула.

В idCommand трябва да се запиша за самоличност трябва да бъдат изпратени до главния прозорец със съобщение WM_COMMAND когато потребителят натисне съответния бутон. Ако елементът е масив от структури TBBUTTON описва сепаратор бутони група в idCommand трябва да пиша нула.

поле FsState трябва да съдържа бутоните първоначалното състояние на знамето:

Separator между групите на бутони

След поле dwData може да предава на допълнителни данни, които се съхраняват в бутоните за спецификация и да се използват, ако е необходимо. Можете да запишете в тази област е нула.

Ако текстовият низ не се използва в поле iString бъде записана нулева стойност.

Ето проба получава TBBUTTON спектър от структури, описва осем бутони и три сепаратор между тях;

Повикване опции за създаване на прозорец Toolbar

Сега, когато сте подготвени файлове бутони с изображения, създадени от идентификатор на заявление във файла ресурс за това и подготвени структури TBBITMAP масив. описва бутоните, можете да създадете прозорец Toolbar. Най-лесният начин да направите това с помощта на специално проектиран за тази функция CreateToolbarEx:

Как мога да намеря документация, тази функция създава прозорец Toolbar и добавя бутони, описани в структурите на масив TBBITMAP. В същото време е необходимо също така да се уточни изображения бутона ID, както и други параметри, посочени по-горе.

При успех, функцията връща идентификатора CreateToolbarEx създаден контрол Toolbar. който може да се използва за изпращане на съобщения. Ако лентата с инструменти по някаква причина, за да го създаде, не е било възможно, функцията връща NULL.

Преди първата покана за тази функция трябва да се нарича InitCommonControls функция, която не е включена лампа, не върна ценности и се използва за инициализиране на библиотеката на стандартни контроли.

Ето един пример с помощта на тази функция в Смарт Application изходния код на приложението, което ще бъде дадено по-късно:

Първият параметър се минава на идентификатора за основния прозорец на приложението. Този прозорец ще получите уведомление от органа Toolbar като WM_COMMAND и WM_NOTIFY съобщения.

параметър Ws определя стила Toolbar прозорец. От този прозорец винаги е дете на прозореца го е създал, трябва да използвате WS_CHILD стил. Към лентата с инструменти рамката на прозореца и се наложи да бъде видима, посочено от нас WS_BORDER WS_VISIBLE и стилове. Ако искате да се даде възможност на потребителя да промените външния вид на лентата с инструменти, трябва да използвате CCS_ADJUSTABLE стил.

В допълнение, на управителния орган на лентата с инструменти, можете да зададете следните стилове:

TB_GETTOOLTIPS

Определяне контролен орган идентификатор Tool Tip, Toolbar, свързани с управляващия орган.

комуникационните параметри трябва да са равни на нула.

TB_HIDEBUTTON

С помощта на този доклад, можете да покажете или скриете бутона, предвид нейната самоличност.

Ако сигналът е вярно, бутонът е скрит, ако FALSE - появява.

TB_INDETERMINATE

С това съобщение, можете да зададете или отмените бутони за неопределен състояние, когато бутонът е замъглена.

Ако сигналът е вярно, за неопределен състояние се задава, ако FALSE - се отменя.

TB_INSERTBUTTON

Поставете бутон в лентата с инструменти.

Ако бутонът е поставен успешно, функция SendMessage връща стойност на TRUE, в противен случай - FALSE.

TB_ISBUTTONCHECKED

С това съобщение, молба да проверите състоянието на един бутон - когато се натисне бутона, или не.

LParam стойност параметър трябва да бъде нула.

Ако се натисне бутона, функцията SendMessage връща стойност на TRUE, в противен случай - FALSE.

TB_ISBUTTONENABLED

С това съобщение, приложение може да проверите състоянието на бутона за заключване - клавиатурата е заключена или не.

LParam стойност параметър трябва да бъде нула.

Ако бутонът е отключен, функцията SendMessage връща стойност на TRUE, в противен случай - FALSE.

TB_ISBUTTONHIDDEN

С това приложение можете да проверите мнения, скрит бутон или не.

LParam стойност параметър трябва да бъде нула.

Ако бутонът е скрит, функцията SendMessage връща стойност на TRUE, в противен случай - FALSE.

TB_ISBUTTONINDETERMINATE

С това съобщение, приложението може да се провери дали бутонът е в състояние на несъвместимост, когато тя се показва в сиво.

LParam стойност параметър трябва да бъде нула.

Ако бутонът е в неопределен състояние, функцията SendMessage връща стойност на TRUE, в противен случай - FALSE.

TB_ISBUTTONPRESSED

С това съобщение, приложението може да се провери дали бутонът е натиснат.

LParam стойност параметър трябва да бъде нула.

Ако се натисне бутона, функцията SendMessage връща стойност на TRUE, в противен случай - FALSE.

TB_PRESSBUTTON

С това съобщение, приложението може да настроите бутона, за да му депресирани или състояние на депресия.

За да преведете бутона надолу, трябва да настроите fPress флаг е вярно, но за да се сложи върху бутона в депресивно състояние - равна на FALSE.

Ако натиснете, състоянието е променена успешно, функция SendMessage връща стойност на TRUE, в противен случай - FALSE.

TB_SAVERESTORE

Изпращането на съобщението Toolbar Control Authority TB_SAVERESTORE, приложението може да спаси или възстановяване на състоянието на лентата с инструменти. Toolbar за съхраняване на състоянието на системата се използва регистрирана база данни.

Ако стойността на флага fSave равна на TRUE, се извършва Toolbar спестяване състояние. и ако FALSE - възстановяване.

След установяване на указател към ptbsp TBSAVEPARAMS тип структура. по-долу:

Работа с данни база данни за регистрация система Microsoft Windows 95 ще бъде описан в една от следните обеми на "системен програмист библиотека".

TB_SETBITMAPSIZE

Със заявление мнения TB_SETBITMAPSIZE да зададете размера на изображението, показано на лицето на бутона.

WParam стойност на параметъра трябва да бъде нула.

Чрез параметри dxBitmap dyBitmap и предава съответно ширината и височината на изображението.

TB_SETBUTTONSIZE

Със заявление мнения TB_SETBUTTONSIZE може да зададете размера на бутон.

WParam стойност на параметъра трябва да бъде нула.

Чрез параметри dxButton dyButton и предадена, съответно ширината и височината на един бутон.

TB_SETCMDID

С помощта на този доклад, можете да зададете един бутон с определена команда ID номер.

TB_SETPARENT

Чрез послания TB_SETPARENT приложение може да възложи на Toolbar прозореца родител на контролния орган.

LParam стойност параметър трябва да бъде нула.

TB_SETROWS

Задаване на броя на редовете на бутони в контролите на лентата с инструменти.

След установяване на броя на редовете, предава врани. Минималната стойност е равна на една линия, а максималната - на броя на бутоните в прозореца на Toolbar.

Ако параметър fLarger е вярно, недостигът на пространство за всички бутони в редове врани допълнителен ред ще бъде създаден. Ако параметър fLarger е FALSE, допълнителната линия е създаден.

TB_SETSTATE

Настройка на бутона с определен идентификатор на нова държава.

Списъкът на възможните състояния на бутона, показан по-горе в постовете на описание TB_GETSTATE.

TB_SETTOOLTIPS

С мнения TB_SETTOOLTIPS приложение може да възложи контрола Toolbar Подсказка.

LParam стойност параметър трябва да бъде нула.

Имайте предвид, че при създаването на лентата с инструменти с TBSTYLE_TOOLTIPS стил за това автоматично създава орган Подсказка. така че не е нужно да се изпрати допълнителен прозорец съобщение Toolbar TB_SETTOOLTIPS. Все пак, ако изпратите съобщение до подсказка ще бъде регистрирано само бутоните, които са били добавени към лентата с инструменти, докато TB_SETTOOLTIPS изпращане на съобщения.

Подкрепете проекта - споделете линка, благодаря!