Как В Visual Studio 2010 Создать Кнопку В Рабочей Области Окна?

Тема в разделе "MS Visual C++", создана пользователем ajs, 9 дек 2011.

  1. ajs

    ajs Гость

    Всем привет! Нуждаюсь в помощи специалистов..
    C диалоговыми окнами все понятно, а вот как быть с рабочей областью? Кнопки должны быть именно на ней по заданию(Создать три курсора. Вывести их на рабочую область в виде кнопок и тд...)
     
  2. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    По-точнее. Трудно представить о чем идет речь.
     
  3. ajs

    ajs Гость

    Полный текст задания такой:
    "Создать три курсора. Вывести их на рабочую область в виде кнопок. По нажатии на кнопку менять курсор в соответствии с изображением на кнопке." То есть кнопки с изображениями курсоров должны быть прямо в рабочей области окна. Смену курсоров я реализовал, но через меню. Хотелось бы сделать все в соответствии с заданием/

    Прект создан как win32 application
     
  4. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    Я так и не понял о каких курсорах идет речь. Покажи скрин того что ты сделал. Я конечно частично догадываюсь, но лучше один раз увидеть, чем 100 раз услышать.
     
  5. ajs

    ajs Гость

     

    Вложения:

  6. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    Теперь понял.
    Создать кнопку очень просто:
    Код (C++):
    hButton1 = CreateWindow( "button", "Курсор 1", WS_CHILD | WS_VISIBLE, x, y, w, h, hWndParent, (HMENU)id, hInstance, NULL );
    , где:
    hButton1 - хэндл кнопки
    "button" - класс кнопки
    "Курсор 1" - текст кнопки
    x, y - позиция в рабочей области окна
    w, h - ширина и высота
    hWndParent - хэндл окна в котором создаешь кнопку
    id - идентификатор кнопки, т.е. такой же как и у пункта меню "Курсор 1", например 1000
     
  7. ajs

    ajs Гость

    Большое спасибо, но результата добиться не получилось..

    1>lab5.cpp(141): error C2664: 'CreateWindowExW' : cannot convert parameter 2 from 'const char [7]' to 'LPCWSTR'
    1> Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast

    вот такая ошибка. пробовал изменть, добавлял букву L перед "button", "Курсор 1" - проект компилиться, но кнопки не видать..
     
  8. rrrFer

    rrrFer Well-Known Member
    Команда форума C\C++ Team

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
    CreateWindowA вместо CreateWindow

    Добавлено: или
    TEXT("Курсор 1") вместо "Курсор 1"
     
  9. ajs

    ajs Гость

    Спасибо огромное) немного повозился и кнопка появилась=) Сейчас доработаю и пойду сдавать)

    Не могу поднять репу( Наверное, из=за того что сообщений мало=(
     
  10. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    Да, надо иметь не меньше 10 сообщений.
    Кстати, CreateWindowEx принимает на 1 параметр больше чем CreateWindow. Для создания простой кнопки нет необходимости использовать CreateWindowEx.
     
Загрузка...

Поделиться этой страницей