Главная страница
    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.033 c
4-1077104602
sherminator
2004-02-18 14:43
2004.04.25
чекиты в главном меню


6-1077339786
Jesus_51
2004-02-21 08:03
2004.04.25
Подключение к базе данных в интернете...


14-1080890830
IronHawk
2004-04-02 11:27
2004.04.25
Не интегральная формула вычисления длинны дуги эллипса?


3-1080544055
Nous Mellon
2004-03-29 11:07
2004.04.25
ADO и поставщики данных


3-1080725353
JibSkeart
2004-03-31 13:29
2004.04.25
Интерестно а можно узнать в ADOConnection у какого обьекта ...





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский