Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];

Вниз

Toolbar как ресурс   Найти похожие ветки 

 
Bless ©   (2004-02-20 18:08) [0]

Как загрузить toolbar, который есть в ресурсах?
Для всех ресурсов есть свои функции, а какая для тулбара?
Или с ним как-то нестандартно работают?


 
Игорь Шевченко ©   (2004-02-20 18:25) [1]

Вообще-то тулбара не может в ресурсе...Диалог может быть...Тогда для загрузки используется функция CreateDialog


 
Cobalt ©   (2004-02-21 14:14) [2]

Не, вообще-то он действительно лежит в ресурсах. Прям вместе с формой. И считывается сразу вместе с формой.


 
Bless ©   (2004-02-23 09:26) [3]

>Вообще-то тулбара не может в ресурсе...

Гм... Редактор ресурсов, что идет с визуал студио, позволяет сделать такой ресурс.

>И считывается сразу вместе с формой.

А у меня не считывается :( Если меню в ресурсы пихнуть, то считывается, а тулбар - нет. Меню, правда, в RegisterClassEx к форме привязывается. А тулбар как бы нигде.


 
Bless ©   (2004-02-23 10:32) [4]

А если все-таки тулбар загрузится (кажись, проблема в геометрии моих рук. Сейчас проверю), то как получить его хендл?


 
Cobalt ©   (2004-02-23 11:47) [5]

туллбар.хендл


 
Nick Denry ©   (2004-02-23 12:15) [6]

Лучше пользоваться ресурсами диалогов. Тогда можно создавать почти все. Так проще и нагляднее.


 
nikkie ©   (2004-02-23 12:47) [7]

>Гм... Редактор ресурсов, что идет с визуал студио, позволяет сделать такой ресурс.
все правильно, есть такой ресурс. но VS одновременно с ним добавляет ресурс BITMAP, в котором нарисованы сразу все кнопки. тулбар можно создать с помощью CreateToolbarEx - bitmap-ресурс там используется, а вот toolbar-ресурс - нет. да он и не особо полезен - слишком мало в нем информации, увы.


 
Игорь Шевченко ©   (2004-02-24 16:05) [8]

nikkie ©   (23.02.04 12:47)


> все правильно, есть такой ресурс

А тип у него какой ? (Похоже, я отстал от жизни)


 
nikkie ©   (2004-02-24 18:41) [9]

вот вырезка из rc-файла, сделанного стандартным MFC-визардом:
/////////////////////////////////////////////////////////////////////////////
//
// Toolbar
//

IDR_MAINFRAME TOOLBAR DISCARDABLE  16, 15
BEGIN
   BUTTON      ID_FILE_NEW
   BUTTON      ID_FILE_OPEN
   BUTTON      ID_FILE_SAVE
SEPARATOR
   BUTTON      ID_EDIT_CUT
   BUTTON      ID_EDIT_COPY
   BUTTON      ID_EDIT_PASTE
SEPARATOR
   BUTTON      ID_FILE_PRINT
SEPARATOR
   BUTTON      ID_APP_ABOUT
END


Resource Explorer показывает, что в откомпилированном exe-шнике присутствует ресурс типа "241" - видимо это он и есть.

в MSDN описание этого ресурса не наблюдается. специализированных апи для работы ним вроде нет. MFC с ним обходится вот так:
BOOL CToolBar::LoadToolBar(LPCTSTR lpszResourceName)
{
ASSERT_VALID(this);
ASSERT(lpszResourceName != NULL);

// determine location of the bitmap in resource fork
HINSTANCE hInst = AfxFindResourceHandle(lpszResourceName, RT_TOOLBAR);
HRSRC hRsrc = ::FindResource(hInst, lpszResourceName, RT_TOOLBAR);
if (hRsrc == NULL)
 return FALSE;

HGLOBAL hGlobal = LoadResource(hInst, hRsrc);
if (hGlobal == NULL)
 return FALSE;

CToolBarData* pData = (CToolBarData*)LockResource(hGlobal);
if (pData == NULL)
 return FALSE;
ASSERT(pData->wVersion == 1);

UINT* pItems = new UINT[pData->wItemCount];
for (int i = 0; i < pData->wItemCount; i++)
 pItems[i] = pData->items()[i];
BOOL bResult = SetButtons(pItems, pData->wItemCount);
delete[] pItems;

if (bResult)
{
 // set new sizes of the buttons
 CSize sizeImage(pData->wWidth, pData->wHeight);
 CSize sizeButton(pData->wWidth + 7, pData->wHeight + 7);
 SetSizes(sizeButton, sizeImage);

 // load bitmap now that sizes are known by the toolbar control
 bResult = LoadBitmap(lpszResourceName);
}

UnlockResource(hGlobal);
FreeResource(hGlobal);

return bResult;
}


 
Игорь Шевченко ©   (2004-02-24 19:01) [10]

nikkie ©   (24.02.04 18:41)

В принципе разумно, тип ресурса же может быть произвольный...И нестандартный в том числе. Это я промашку дал:)



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.036 c
7-1077703723
_shark
2004-02-25 13:08
2004.04.25
Здрасти многоуважаемые. Как можно из сервиса запустить программу


14-1080805331
Саша
2004-04-01 11:42
2004.04.25
А где можно скачать DELPHI 5?


14-1080588239
Kom Zu Mir
2004-03-29 23:23
2004.04.25
Передача файлов через интернет между двумя компами


7-1077820225
Vince
2004-02-26 21:30
2004.04.25
Опрос COM-порта под Win9x


1-1081326795
Ivan
2004-04-07 12:33
2004.04.25
уничтожение формы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский