Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.09.2012, 15:32   #21
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,322
По умолчанию

Откомпилировать и запустить проект Visual 2008.

- (на панели меню выбираем "Построение" --> выбираем "Построить решение") (или F7)
- (на панели меню выбираем "Отладка" --> выбираем "Запуск без отладки") (или Ctrl+F5)
8Observer8 вне форума Ответить с цитированием
Старый 17.09.2012, 15:36   #22
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,322
По умолчанию

Создать релизный exe-файл, который будет запускаться на других машинах, где нет требуемых библиотек.

- (на панели меню выбираем "Проект" --> выбираем "Свойства") (Alt+F7)
- в правом верхнем углу окна свойств нажимаем на кнопку "Диспетчер конфигураций" --> в поле "Активная конфигурация решения" выбираем "Release" --> нажимаем "Закрыть"
- слева раскрываем список "Свойства конфигурации" --> раскрываем список C/C++ --> выбираем строку "Создание кода" --> справа в строке "Библиотека времени выполнения" меняем значение на "Многопоточная с возможностью отладки (/MTd)" --> нажимаем "OK"

Примечание. Для возврата к отладке нужно просто поменять "Release" на "Debug" по инструкции выше.

Последний раз редактировалось 8Observer8; 17.09.2012 в 15:44.
8Observer8 вне форума Ответить с цитированием
Старый 17.09.2012, 16:10   #23
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,322
По умолчанию

CheckBox на диалоговом окне:


Инструкция:
- скачать и установить инструментарий
- создать проект Visual 2008
- создать диалоговое окно в ResEdit
- добавить на диалоговое окно следующий элемент GUI из панели Toolbox: CheckBox
- выравнять элемент GUI
- сохранить проект ResEdit (Ctrl+S)
- подключить файл ресурсов к проекту Visual 2008
- скопировать следующий код в main.c
Код:
#include <windows.h>
#include <tchar.h>

#define IDD_DIALOG1 100

INT_PTR CALLBACK DialogProc(HWND hwndDlg,
                            UINT uMsg,
                            WPARAM wParam,
                            LPARAM lParam);

LPCTSTR DlgName = MAKEINTRESOURCE(IDD_DIALOG1);

int WINAPI _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR lpCmdLine,
                     int nCmdShow)
{
    DialogBoxParam(hInstance, DlgName, NULL, DialogProc, (LPARAM) NULL);

    return TRUE;
}

INT_PTR CALLBACK DialogProc(HWND hWnd,
                            UINT uMsg,
                            WPARAM wParam,
                            LPARAM lParam)
{
    switch(uMsg) {
    case WM_CLOSE:
        EndDialog(hWnd, 0);
        break;
    default:
        return FALSE;
    }

    return TRUE;
}
- откомпилировать и запустить проект Visual 2008
- по желанию: создать релизный exe-файл, который будет запускаться на других машинах, где нет требуемых библиотек
8Observer8 вне форума Ответить с цитированием
Старый 17.09.2012, 16:19   #24
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,322
По умолчанию

CheckBox в действии:


Инструкция:
- скачать и установить инструментарий
- создать проект Visual 2008
- создать диалоговое окно в ResEdit
- добавить на диалоговое окно следующие элементы GUI из панели Toolbox: CheckBox - 2 шт., Button - 1 шт.
- выравнять элемент GUI
- сохранить проект ResEdit (Ctrl+S)
- подключить файл ресурсов к проекту Visual 2008
- скопировать следующий код в main.c
Код:
#include <windows.h>
#include <tchar.h>

#define IDD_DIALOG1 100

INT_PTR CALLBACK DialogProc(HWND hwndDlg,
                            UINT uMsg,
                            WPARAM wParam,
                            LPARAM lParam);

LPCTSTR DlgName = MAKEINTRESOURCE(IDD_DIALOG1);

int WINAPI _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR lpCmdLine,
                     int nCmdShow)
{
    DialogBoxParam(hInstance, DlgName, NULL, DialogProc, (LPARAM) NULL);

    return TRUE;
}

#define IDC_BUTTON1   3000
#define IDC_CHECKBOX1 3001
#define IDC_CHECKBOX2 3002

INT_PTR CALLBACK DialogProc(HWND hWnd,
                            UINT uMsg,
                            WPARAM wParam,
                            LPARAM lParam)
{
    switch(uMsg) {
    case WM_COMMAND:
        if (LOWORD(wParam) == IDC_BUTTON1) {
            if (IsDlgButtonChecked(hWnd, IDC_CHECKBOX1) == BST_CHECKED &&
                IsDlgButtonChecked(hWnd, IDC_CHECKBOX2) == BST_CHECKED)
            {
                MessageBox(hWnd, _T("Both is checked!"), _T("Message"), MB_ICONINFORMATION);
            }
            else if(IsDlgButtonChecked(hWnd, IDC_CHECKBOX1) == BST_CHECKED) {
                MessageBox(hWnd, _T("CHECKBOX1 is checked!"), _T("Message"), MB_ICONINFORMATION);
            }
            else if(IsDlgButtonChecked(hWnd, IDC_CHECKBOX2) == BST_CHECKED) {
                MessageBox(hWnd, _T("CHECKBOX2 is checked!"), _T("Message"), MB_ICONINFORMATION);
            }
            else {
                MessageBox(hWnd, _T("Neither is checked!"), _T("Message"), MB_ICONINFORMATION);
            }
        }
        break;
    case WM_CLOSE:
        EndDialog(hWnd, 0);
        break;
    default:
        return FALSE;
    }

    return TRUE;
}
Примечание. В файле ресурсов "*.rc" нужно опередить:
Код:
#define IDC_BUTTON1   3000
#define IDC_CHECKBOX1 3001
#define IDC_CHECKBOX2 3002
- откомпилировать и запустить проект Visual 2008
- по желанию: создать релизный exe-файл, который будет запускаться на других машинах, где нет требуемых библиотек

Последний раз редактировалось 8Observer8; 17.09.2012 в 16:26.
8Observer8 вне форума Ответить с цитированием
Старый 17.09.2012, 16:42   #25
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,322
По умолчанию

Radio Button в действии:


Инструкция:
- скачать и установить инструментарий
- создать проект Visual 2008
- создать диалоговое окно в ResEdit
- добавить на диалоговое окно следующие элементы GUI из панели Toolbox: Radio Button - 2 шт., Button - 1 шт.
- выравнять элемент GUI
- сохранить проект ResEdit (Ctrl+S)
- подключить файл ресурсов к проекту Visual 2008
- скопировать следующий код в main.c
Код:
#include <windows.h>
#include <tchar.h>

#define IDD_DIALOG1 100

INT_PTR CALLBACK DialogProc(HWND hwndDlg,
                            UINT uMsg,
                            WPARAM wParam,
                            LPARAM lParam);

LPCTSTR DlgName = MAKEINTRESOURCE(IDD_DIALOG1);

int WINAPI _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR lpCmdLine,
                     int nCmdShow)
{
    DialogBoxParam(hInstance, DlgName, NULL, DialogProc, (LPARAM) NULL);

    return TRUE;
}

#define IDC_BUTTON1 3000
#define IDC_RADIO1  3001
#define IDC_RADIO2  3002

INT_PTR CALLBACK DialogProc(HWND hWnd,
                            UINT uMsg,
                            WPARAM wParam,
                            LPARAM lParam)
{
    switch(uMsg) {
    case WM_INITDIALOG:
        SendMessage(GetDlgItem(hWnd, IDC_RADIO1), BM_SETCHECK, BST_CHECKED, 0);
        break;
    case WM_COMMAND:
        if (LOWORD(wParam) == IDC_BUTTON1) {
            if (IsDlgButtonChecked(hWnd, IDC_RADIO1) == BST_CHECKED) {
                MessageBox(hWnd, _T("IDC_RADIO1 is checked!"), _T("Message"), MB_ICONINFORMATION);
            }
            else {
                MessageBox(hWnd, _T("IDC_RADIO2 is checked!"), _T("Message"), MB_ICONINFORMATION);
            }
        }
        break;
    case WM_CLOSE:
        EndDialog(hWnd, 0);
        break;
    default:
        return FALSE;
    }

    return TRUE;
}
Примечание. В файле ресурсов "*.rc" нужно опередить:
Код:
#define IDC_BUTTON1 3000
#define IDC_RADIO1  3001
#define IDC_RADIO2  3002
- откомпилировать и запустить проект Visual 2008
- по желанию: создать релизный exe-файл, который будет запускаться на других машинах, где нет требуемых библиотек
8Observer8 вне форума Ответить с цитированием
Старый 17.09.2012, 16:49   #26
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,322
По умолчанию

Radio Button на диалоговом окне:


Инструкция:
- скачать и установить инструментарий
- создать проект Visual 2008
- создать диалоговое окно в ResEdit
- добавить на диалоговое окно следующий элемент GUI из панели Toolbox: Radio Button
- выравнять элемент GUI
- сохранить проект ResEdit (Ctrl+S)
- подключить файл ресурсов к проекту Visual 2008
- скопировать следующий код в main.c
Код:
#include <windows.h>
#include <tchar.h>

#define IDD_DIALOG1 100

INT_PTR CALLBACK DialogProc(HWND hwndDlg,
                            UINT uMsg,
                            WPARAM wParam,
                            LPARAM lParam);

LPCTSTR DlgName = MAKEINTRESOURCE(IDD_DIALOG1);

int WINAPI _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR lpCmdLine,
                     int nCmdShow)
{
    DialogBoxParam(hInstance, DlgName, NULL, DialogProc, (LPARAM) NULL);

    return TRUE;
}

INT_PTR CALLBACK DialogProc(HWND hWnd,
                            UINT uMsg,
                            WPARAM wParam,
                            LPARAM lParam)
{
    switch(uMsg) {
    case WM_CLOSE:
        EndDialog(hWnd, 0);
        break;
    default:
        return FALSE;
    }

    return TRUE;
}
- откомпилировать и запустить проект Visual 2008
- по желанию: создать релизный exe-файл, который будет запускаться на других машинах, где нет требуемых библиотек
8Observer8 вне форума Ответить с цитированием
Старый 18.09.2012, 17:45   #27
pavelnt
 
Регистрация: 01.09.2011
Сообщений: 5
По умолчанию

Возможно ли к обзору по контролам включить еще Status Bar?
pavelnt вне форума Ответить с цитированием
Старый 19.09.2012, 11:41   #28
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,322
По умолчанию

Цитата:
Сообщение от pavelnt Посмотреть сообщение
Возможно ли к обзору по контролам включить еще Status Bar?
Да, хорошо, что напомнили! Странно, что в ResEdit его нет... Выкрутимся... Зато там много ещё чего есть, например Menu и другие ресурсы.
8Observer8 вне форума Ответить с цитированием
Старый 19.09.2012, 12:16   #29
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,322
По умолчанию

Выставить требуемое свойство элемента GUI в требуемое значение.

- в редакторе ResEdit выбираем на созданном диалоговом окне добавленный элемент
- на панели "Properties" в поле "Enter search here" начинаем вводить имя требуемого свойства элемента GUI --> выбираем его из списка
- меняем значение значение свойства на требуемое
8Observer8 вне форума Ответить с цитированием
Старый 19.09.2012, 12:22   #30
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,322
По умолчанию

ComboBox на диалоговом окне:


Инструкция:
- скачать и установить инструментарий
- создать проект Visual 2008
- создать диалоговое окно в ResEdit
- добавить на диалоговое окно следующий элемент GUI из панели Toolbox: ComboBox

Замечание. В редакторе ResEdit у элемента CheckBox нужно оттянуть вниз синею рамку на нужное количество строк (с запасом).

- выставить свойство "Type" элемента CheckBox в значение "Drop List"
- выравнять элемент GUI
- сохранить проект ResEdit (Ctrl+S)
- подключить файл ресурсов к проекту Visual 2008
- скопировать следующий код в main.c
Код:
#include <windows.h>
#include <tchar.h>

#define IDD_DIALOG1 100

INT_PTR CALLBACK DialogProc(HWND hwndDlg,
                            UINT uMsg,
                            WPARAM wParam,
                            LPARAM lParam);

LPCTSTR DlgName = MAKEINTRESOURCE(IDD_DIALOG1);

int WINAPI _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR lpCmdLine,
                     int nCmdShow)
{
    DialogBoxParam(hInstance, DlgName, NULL, DialogProc, (LPARAM) NULL);

    return TRUE;
}

INT_PTR CALLBACK DialogProc(HWND hWnd,
                            UINT uMsg,
                            WPARAM wParam,
                            LPARAM lParam)
{
    switch(uMsg) {
    case WM_CLOSE:
        EndDialog(hWnd, 0);
        break;
    default:
        return FALSE;
    }

    return TRUE;
}
- откомпилировать и запустить проект Visual 2008
- по желанию: создать релизный exe-файл, который будет запускаться на других машинах, где нет требуемых библиотек
8Observer8 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Различия WinAPI и создание оконных приложений VS Studio Sauber Общие вопросы C/C++ 13 03.07.2012 19:21
Создание окна(asm) с использованием WinApi Alex1991 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 04.04.2011 13:20
Создание GUI в DirectX Selestis Gamedev - cоздание игр: Unity, OpenGL, DirectX 11 02.08.2010 15:15
Создание сложных объектов в gui cherw9!40k Общие вопросы по Java, Java SE, Kotlin 0 22.03.2010 22:02
Создание GUI для WINDOWS inzener-tolik Помощь студентам 8 13.03.2010 11:39