Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Офф-топ

Страница: 1 |

 

  Вопрос: Объекты в Си Добавлено: 01.07.05 06:03  

Автор вопроса:  Progos | Web-сайт: html-expert.org.ru | ICQ: 311715784 
Кто знает, как создавать объекты в Си (ну кнопки и прочие контролы).
Я пишу что-то вроде этого для создания окна
#include <windows.h>

BOOL InitApp(HINSTANCE);
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

char const szClassName[] = "WindowAppClass";
char const szWindowTitle[] = "Первое приложение с оконной архитектурой";

int PASCAL
WinMain(HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpszCmdLine,
    int nCmdShow)
{
 MSG msg;
 HWND hwnd;
 if(!InitApp(hInstance)) return FALSE;
 hwnd = CreateWindow(
  szClassName,
  szWindowTitle,
  WS_OVERLAPPEDWINDOW,
  CW_USEDEFAULT,
  CW_USEDEFAULT,
  CW_USEDEFAULT,
  CW_USEDEFAULT,
  0,
  0,
  hInstance,
  NULL);

 if(!hwnd)
  return FALSE;

 ShowWindow(hwnd, nCmdShow);
 UpdateWindow(hwnd);

 while(GetMessage(&msg, 0, 0, 0))
 {
  DispatchMessage(&msg);
 }

 return msg.wParam;
}

BOOL
InitApp(HINSTANCE hInstance)
{
 ATOM aWndClass;
 WNDCLASS wc;
 memset(&wc, 0, sizeof(wc));
 wc.style = 0;

 wc.lpfnWndProc = (WNDPROC) WndProc;
 wc.cbClsExtra = 0;
 wc.cbWndExtra = 0;
 wc.hInstance = hInstance;
 wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
 wc.hCursor = LoadCursor(NULL, IDC_ARROW);
 wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
 wc.lpszMenuName = (LPSTR)NULL;
 wc.lpszClassName = (LPSTR)szClassName;
 aWndClass = RegisterClass(&wc);
 return (aWndClass != 0);
}
LRESULT CALLBACK
WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
 switch (msg)
 {
  case WM_LBUTTONDOWN:
   {
    MessageBox(NULL,
     "Нажата левая клавиша мыши",
     "Сообщение", MB_OK | MB_ICONINFORMATION);
    return 0;
   }
  case WM_RBUTTONDOWN:
   {
    MessageBox(NULL,
     "Нажата правая клавиша мыши",
     "Сообщение", MB_OK | MB_ICONINFORMATION);
    return 0;
   }
  case WM_DESTROY:
  {
   PostQuitMessage(0);
   return 0;
  }
 }
 return DefWindowProc(hwnd, msg, wParam, lParam);
}

Что теперь написать, чтобы создать контрол?
ЗЫ Использование Визуальных студий не предлагать

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #1 Добавлено: 01.07.05 06:50
CreateWindowEx

Ответить

Номер ответа: 2
Автор ответа:
 Progos



ICQ: 311715784 

Вопросов: 39
Ответов: 157
 Web-сайт: html-expert.org.ru
 Профиль | | #2
Добавлено: 01.07.05 07:25
А точнее? :)

Ответить

Номер ответа: 3
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #3 Добавлено: 01.07.05 11:30
CreateWindowEx (0, "BUTTON", "MyButton", WS_CHILD|WS_VISIBLE, 10, 10, 50, 20, hwnd, NULL,  hInstance, NULL)

Ответить

Номер ответа: 4
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #4
Добавлено: 01.07.05 15:11
не мона оконную процедуру укзатать, ну да это если что-то специальное... например кнопочку с картиночкой :)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам