Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> FindWindow и окно "3го уровня", не могу нейти, те не знаю как 
V
    Опции темы
chaos
Дата 31.8.2007, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: 1
Всего: 44



здрасте!!!
столкнулся с проблемкой. есть такая иерархия окон
TMainWindow
        |
        |_________TCoolBar
                                   |
                                   |_________TToolBar

необходимо получить HWND TToolBar'а.
делаю так

Код

hMainWnd = ::FindWindowEx(NULL, NULL, _T("TFormMain"), NULL);
HWND hToolBar = ::FindWindowEx(hMainWnd, NULL, _T("TCoolBar"), NULL);



Вопрос: как дальше искать?


Заранее благодарен!
PM WWW   Вверх
NiJazz
Дата 31.8.2007, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Jazz coder
****


Профиль
Группа: Экс. модератор
Сообщений: 2286
Регистрация: 10.8.2003
Где: Москва

Репутация: 6
Всего: 23



chaos, попробуй EnumChildWindows.

Вот примерчик:
Код

#include <windows.h>

BOOL CALLBACK enum_proc( HWND hwnd, LPARAM lParam )
{
    int len = ::GetWindowTextLength( hwnd ) + 1;

    if ( !(len - 1) && !!::GetLastError() )
        return FALSE;

    TCHAR * buf = new TCHAR[len];
    ::GetWindowText( hwnd, buf, len - 1 );
    
    if ( !_tcscmp( buf, _T( "TToolBar" ) ) )
    {
        // do something here
    }

    delete[] buf;

    return TRUE;
}

int _tmain(int argc, _TCHAR* argv[])
{
    hMainWnd = ::FindWindowEx(NULL, NULL, _T("TFormMain"), NULL);
    HWND hToolBar = ::FindWindowEx(hMainWnd, NULL, _T("TCoolBar"), NULL);

    if ( !!hToolBar )
        ::EnumChildWindows( hToolBar , enum_proc, 0 );

    return 0;
}


Это сообщение отредактировал(а) NiJazz - 31.8.2007, 12:29
PM MAIL   Вверх
chaos
Дата 31.8.2007, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: 1
Всего: 44



NiJazz, thx

Добавлено через 3 минуты и 12 секунд
темка закрыта
PM WWW   Вверх
HappyLife
Дата 31.8.2007, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 17.5.2006

Репутация: нет
Всего: 8



chaos, А попростому, этого не сделать?
Код

TToolBar->Handle


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0408 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.