|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.12.2011, 19:57 | #1 |
Пользователь
Регистрация: 02.08.2011
Сообщений: 18
|
редактор, список
Доброго времени суток! Пожалуйста, ппомогите решить задачку((( Ничего в этом не понимаю, а надо сделать для контрольной работы(((
В левом верхнем углу в области окна создать временное окно площадью в одну шестнадцатую площади этой области. При нажатии на левую клавишу мыши временное окно переместить в соседний по ходу часовой стрелки угол рабочей области. |
11.12.2011, 12:45 | #2 |
Пользователь
Регистрация: 22.02.2010
Сообщений: 71
|
Вот функция, при помощи которой можно узнать размеры экрана:
Код:
Вот функция передвижения окна: Код:
|
13.12.2011, 00:21 | #3 |
Регистрация: 12.12.2011
Сообщений: 6
|
Ответ я зделал в Microsoft Visual Studio 2010!:)
Вот пожалуйста! Разбирайся. Я программу проверил, всё пашет вроде))
#include "stdafx.h" LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); TCHAR szWindowClass[100]; RECT rc; int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { HWND hMainWnd; MSG msg; WNDCLASSEX wc; LoadString(hinstance, 109, szWindowClass, 100); // Init wc.cbSize = sizeof(wc); wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = WndProc; wc.cbClsExtra = wc.cbWndExtra = 0; wc.hInstance = hinstance; wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); wc.hCursor = LoadCursor(NULL, IDC_ARROW); wc.hbrBackground = (HBRUSH)GetStockObject(COLOR_BTNFAC E); wc.lpszMenuName = NULL; wc.lpszClassName = szWindowClass; wc.hIconSm = LoadIcon(NULL,IDI_INFORMATION); // Registrite Class if(!RegisterClassEx(&wc)) { MessageBoxA(NULL,"Error in register class!!!","ERROR",MB_OK | MB_ICONERROR); return 0; } //Create main Okno hMainWnd = CreateWindowEx(WS_EX_ACCEPTFILES,sz WindowClass,(LPCTSTR)"1",WS_OVERLAP PEDWINDOW, CW_USEDEFAULT,0,CW_USEDEFAULT,0, NULL,NULL,hinstance,NULL); ShowWindow(hMainWnd,SW_SHOW); //Create popup window HWND hwnd; GetWindowRect(hMainWnd,&rc); rc.right = (rc.right-rc.left)/4; rc.bottom = (rc.bottom-rc.top)/4; rc.left += 5; rc.top += 5; hwnd = CreateWindowEx(WS_EX_ACCEPTFILES,sz WindowClass,(LPCTSTR)"2", WS_POPUPWINDOW | WS_CAPTION | WS_VISIBLE, rc.left,rc.top,rc.right,rc.bottom, NULL,NULL,hinstance,NULL); ShowWindow(hwnd,SW_SHOW); while(GetMessage(&msg,NULL,0,0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam; } // - - - - - - - - - - - - - - - // LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { HWND hwnd=FindWindow(szWindowClass,(LPCT STR)"2"); // flag static int n=1; switch (uMsg) { case WM_CLOSE: DestroyWindow(hWnd); break; case WM_LBUTTONDOWN: switch(n) { case 1: rc.left = (rc.left+3*rc.right); MoveWindow(hwnd,rc.left-10,rc.top,rc.right,rc.bottom,true); SetFocus(hwnd); break; case 2: rc.top = (rc.top+3*rc.bottom); MoveWindow(hwnd,rc.left-10,rc.top-10,rc.right,rc.bottom,true); SetFocus(hwnd); break; case 3: rc.left = (rc.left-3*rc.right); MoveWindow(hwnd,rc.left,rc.top-10,rc.right,rc.bottom,true); SetFocus(hwnd); break; case 4: rc.top = (rc.top-3*rc.bottom); MoveWindow(hwnd,rc.left,rc.top,rc.r ight,rc.bottom,true); SetFocus(hwnd); break; }; if(n == 4) n=0; n++; break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd,uMsg,wParam,lPar am); } return 0; } Если возникнут какие-то вопросы пиши, постараюсь ответить!
Программирование это не робота, это искусство!
Последний раз редактировалось RegediK; 13.12.2011 в 00:27. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
однострочный редактор, список, кнопка | Анннютик | Win Api | 2 | 26.11.2011 08:25 |
Список с заглавным звеном, из текстового файла получить список из записей и по нему уже сделать задание | Zigfried | Помощь студентам | 2 | 04.10.2010 20:29 |
связать список строк и список целых чисел | lirikoff | Помощь студентам | 5 | 31.08.2010 13:23 |
C++. Односвязный список. Уничтожить список | Olya90 | Помощь студентам | 2 | 10.06.2009 18:52 |
Данные-проверка-список (список на другом листе) | Inbox | Microsoft Office Excel | 7 | 26.12.2008 01:43 |