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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.11.2011, 17:32   #1
dozor
 
Регистрация: 19.11.2009
Сообщений: 9
По умолчанию прога

С++ в visual studio

углы рабочей области окна приложения полностью занимают 4 временных окна одного класса.если нажать левую кнопку мыши над временным окном то это окно выдаёт сообщение о своём заголовке.
окна я сделал , а вот сообщения не получается как их можно реализовать?





PHP код:
#include "stdafx.h"
#include "5lab.h"

#define MAX_LOADSTRING 100


HINSTANCE hInst;                                
TCHAR szTitle[MAX_LOADSTRING];                    
TCHAR szWindowClass[MAX_LOADSTRING];            


ATOM                MyRegisterClass(HINSTANCE hInstance);
BOOL                InitInstance(HINSTANCEint);
LRESULT CALLBACK    WndProc(HWNDUINTWPARAMLPARAM);
INT_PTR CALLBACK    About(HWNDUINTWPARAMLPARAM);
HWND okno1,okno2,okno3,okno4,hWnd;

int APIENTRY _tWinMain(HINSTANCE hInstance,
                     
HINSTANCE hPrevInstance,
                     
LPTSTR    lpCmdLine,
                     
int       nCmdShow)
{
    
UNREFERENCED_PARAMETER(hPrevInstance);
    
UNREFERENCED_PARAMETER(lpCmdLine);

     
    
MSG msg;
    
HACCEL hAccelTable;

    
    
LoadString(hInstanceIDS_APP_TITLEszTitleMAX_LOADSTRING);
    
LoadString(hInstanceIDC_MY5LABszWindowClassMAX_LOADSTRING);
    
MyRegisterClass(hInstance);

    if (!
InitInstance (hInstancenCmdShow))
    {
        return 
FALSE;
    }

    
hAccelTable LoadAccelerators(hInstanceMAKEINTRESOURCE(IDC_MY5LAB));

    
// Цикл основного сообщения:
    
while (GetMessage(&msgNULL00))
    {
        if (!
TranslateAccelerator(msg.hwndhAccelTable, &msg))
        {
            
TranslateMessage(&msg);
            
DispatchMessage(&msg);
        }
    }

    return (int) 
msg.wParam;
}

ATOM MyRegisterClass(HINSTANCE hInstance)
{
    
WNDCLASSEX wcex;

    
wcex.cbSize sizeof(WNDCLASSEX);

    
wcex.style            CS_HREDRAW CS_VREDRAW;
    
wcex.lpfnWndProc    WndProc;
    
wcex.cbClsExtra        0;
    
wcex.cbWndExtra        0;
    
wcex.hInstance        hInstance;
    
wcex.hIcon            LoadIcon(hInstanceMAKEINTRESOURCE(IDI_MY5LAB));
    
wcex.hCursor        LoadCursor(NULLIDC_ARROW);
    
wcex.hbrBackground    = (HBRUSH)(COLOR_WINDOW+1);
    
wcex.lpszMenuName    MAKEINTRESOURCE(IDC_MY5LAB);
    
wcex.lpszClassName    szWindowClass;
    
wcex.hIconSm        LoadIcon(wcex.hInstanceMAKEINTRESOURCE(IDI_SMALL));

    return 
RegisterClassEx(&wcex);
}


BOOL InitInstance(HINSTANCE hInstanceint nCmdShow)
{
   
hInst hInstance// Сохранить дескриптор экземпляра в глобальной переменной

   
hWnd CreateWindow(szWindowClassszTitleWS_OVERLAPPEDWINDOW,
      
0010001000NULLNULLhInstanceNULL);
   
okno1 CreateWindow(szWindowClass,L"11",WS_POPUPWINDOW|WS_CAPTION|WS_VISIBLE,1,50,300,300,hWnd,NULL,hInstance,NULL);
   
okno2 CreateWindow(szWindowClass,L"22",WS_POPUPWINDOW|WS_CAPTION|WS_VISIBLE,700,50,300,300,hWnd,NULL,hInstance,NULL);
   
okno3 CreateWindow(szWindowClass,L"33",WS_POPUPWINDOW|WS_CAPTION|WS_VISIBLE,1,435,300,300,hWnd,NULL,hInstance,NULL);
   
okno4 CreateWindow(szWindowClass,L"44",WS_POPUPWINDOW|WS_CAPTION|WS_VISIBLE,700,435,300,300,hWnd,NULL,hInstance,NULL);
   if (!
hWnd)
   {
      return 
FALSE;
   }

   
ShowWindow(hWndnCmdShow);
   
UpdateWindow(hWnd);

   return 
TRUE;
}


LRESULT CALLBACK WndProc(HWND hWndUINT messageWPARAM wParamLPARAM lParam)
{
    
int wmIdwmEvent;
    
PAINTSTRUCT ps;
    
HDC hdc;

    switch (
message)
    {
    case 
WM_COMMAND:
        
wmId    LOWORD(wParam);
        
wmEvent HIWORD(wParam);
        
// Разобрать выбор в меню:
        
switch (wmId)
        {
        case 
IDM_ABOUT:
            
DialogBox(hInstMAKEINTRESOURCE(IDD_ABOUTBOX), hWndAbout);
            break;
        case 
IDM_EXIT:
            
DestroyWindow(hWnd);
            break;
        default:
            return 
DefWindowProc(hWndmessagewParamlParam);
        }
        break;
    case 
WM_PAINT:
        
hdc BeginPaint(hWnd, &ps);
        
// TODO: добавьте любой код отрисовки...
        
EndPaint(hWnd, &ps);
        break;
    case 
WM_DESTROY:
        
PostQuitMessage(0);
        break;
    case 
WM_LBUTTONDOWN:

        { 
            
MessageBox(okno1,L"11",L"ehwfuh",MB_OK);
            
        }
    default:
        return 
DefWindowProc(hWndmessagewParamlParam);
    }
    return 
0;
}


INT_PTR CALLBACK About(HWND hDlgUINT messageWPARAM wParamLPARAM lParam)
{
    
UNREFERENCED_PARAMETER(lParam);
    switch (
message)
    {
    case 
WM_INITDIALOG:
        return (
INT_PTR)TRUE;

    case 
WM_COMMAND:
        if (
LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
        {
            
EndDialog(hDlgLOWORD(wParam));
            return (
INT_PTR)TRUE;
        }
        break;
    }
    return (
INT_PTR)FALSE;

dozor вне форума Ответить с цитированием
Старый 07.11.2011, 20:45   #2
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

GetWindowFromPoint + GetWindowText
counter вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПРОГА!!! flashpoint412 Помощь студентам 0 25.05.2010 15:38
прога beygul Помощь студентам 8 07.11.2008 14:23
прога и чюжая прога benjaminfran Общие вопросы Delphi 5 28.03.2008 15:07
прога vovik Свободное общение 2 02.07.2007 10:13