Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Нестандартные окна

249
30 декабря 2005 года
DissDoc
639 / / 01.10.2004
Не знаю как сформулировать вопрос. Есть стандартное вин32 окно. Хочу из него сделать для начала вот это.

Как это реализовать или где почитать?
349
31 декабря 2005 года
Phantom-84
656 / / 27.10.2005
Посмотри мое сообщение на ветке "Создать окно без заголовка"... Может поможет :)
243
31 декабря 2005 года
pacific_7
1.9K / / 06.09.2004
Цитата:
Originally posted by DissDoc
Не знаю как сформулировать вопрос. Есть стандартное вин32 окно. Хочу из него сделать для начала вот это.


Мммм.... Не совсем понял. Если по тому окну, которое прилеплено, то надо создать на главном окне дочернее окно класса EDIT. Наверное про функцию CreateWindow надо читать.

3
31 декабря 2005 года
Green
4.8K / / 20.01.2000
Не понятно, что тут нестандартного. Уточни.
533
18 января 2006 года
Visualex
254 / / 07.01.2005
Цитата:
Originally posted by DissDoc
Не знаю как сформулировать вопрос. Есть стандартное вин32 окно. Хочу из него сделать для начала вот это.

Как это реализовать или где почитать?


В книжке "С++ Глазами Хакера" есть создание настандартных окон, там объясняется как создать окно по картинке, обрезанной по контуру, если сильно надо могу уточнить автора...
Или написать какието выдержки из книги...

249
19 января 2006 года
DissDoc
639 / / 01.10.2004
Цитата:
Originally posted by Visualex
В книжке "С++ Глазами Хакера" есть создание настандартных окон, там объясняется как создать окно по картинке, обрезанной по контуру, если сильно надо могу уточнить автора...
Или написать какието выдержки из книги...


НЕ! Спасибо огромное, у меня эта книга есть ;) Вопрос был не в этом. Если не трудно, кто-нибудь покажите пример кода, который на стандартное Win32 окно ставит
1) вверх+вправо еще одно окно (как бы дочернее что ли...), короче чтоб оно встроилось в главное окно
2) combobox (в какую область - все равно)

249
19 января 2006 года
DissDoc
639 / / 01.10.2004
Если кому не трудно, помогите встроить IDD_FORMVIEW в мою прогу (знаю, что делается это с помощью MAKEINTRESOURCE). И какие параметры в IDD_FORMVIEW нужно указывать, чтобы оно как дочернее окно было? Куда в моем коде нужно встраивать и как встраивать дочернее окно?
Нужно встроить вправую сторону главного окна. Вот мой код
Код:
LRESULT CALLBACK MainWinProc(HWND hwnd,                  UINT msg,                   WPARAM wparam,                  LPARAM lparam)
{
    int wmId, wmEvent;

    switch(msg)
    {
    case WM_COMMAND:
        wmId    = LOWORD(wparam);
        wmEvent = HIWORD(wparam);
        switch(wmId)
        {
        case ID_EXIT:
            DestroyWindow(hwnd);
            break;
        default:
            return DefWindowProc(hwnd, msg, wparam, lparam);
        }
        break;
    case WM_PAINT:
        break;
    case WM_DESTROY:
        {
            PostQuitMessage(0);
            return 0;
            break;
        }
    }
    return (DefWindowProc(hwnd, msg, wparam, lparam));
}

int WINAPI WinMain(HINSTANCE hinstance,
                   HINSTANCE hprevinstance,
                   LPSTR lpcmdline,
                   int nshowcmd)
{
    WNDCLASSEX wnd;
    HWND hwnd;
    MSG msg;

    wnd.cbSize = sizeof(WNDCLASSEX);
    wnd.style = CS_DBLCLKS|CS_OWNDC|CS_HREDRAW|CS_VREDRAW;
    wnd.lpfnWndProc = MainWinProc;
    wnd.cbClsExtra = 0;
    wnd.cbWndExtra = 0;
    wnd.hInstance = hinstance;
    wnd.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wnd.hCursor = LoadCursor(NULL, IDC_ARROW);
    wnd.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
    wnd.lpszMenuName = (LPCSTR)IDR_MENU_ME;
    wnd.lpszClassName = "WND";
    wnd.hIconSm = LoadIcon(NULL, IDI_APPLICATION);

    if(!RegisterClassEx(&wnd))
        return 0;

    if(!(hwnd = CreateWindowEx(NULL,
        "WND",
        "Map Editor for Senselessness (DX9)",
        WS_OVERLAPPEDWINDOW|WS_VISIBLE,
        0, 0, 1024, 768,
        NULL, NULL, hinstance, NULL)))
        return 0;
   
    ShowWindow(hwnd, SW_SHOWDEFAULT);
    UpdateWindow(hwnd);
    while(GetMessage(&msg, NULL, 0, 0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return msg.wParam;
}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог