| 
| 
 | Вопрос # 784/ вопрос открыт / | 
 |  Здравствуйте, уважаемые эксперты! 
 Как изменить размер рабочего стола, как это делает панель задач?
 
|  |   Вопрос задал: Фамилия Имя Отчество (статус: Посетитель)Вопрос отправлен: 24 июля 2007, 14:27
 Состояние вопроса: открыт, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 6; последнее сообщение — 26 июля 2007, 11:58; участников в обсуждении: 3. 
|   | Аксион (статус: 4-ый класс), 24 июля 2007, 14:39 [#1]:procedure SetScreen(BPP:byte;width,height,FR:integer); var
 D: TDevMode;
 h: HWND;
 begin
 h:=0;
 D.dmDeviceName:=\'DISPLAY\';
 D.dmBitsPerPel:=BPP;
 D.dmDisplayFrequency:=FR;
 D.dmPelsWidth:=Width;
 D.dmPelsHeight:=Height;
 D.dmFields:=DM_BITSPERPEL+DM_PELSWIDTH+DM_PELSHEIGHT+DM_DISPLAYFREQUENCY;
 D.dmSize:=SizeOf(D);
 if ChangeDisplaySettings(D,CDS_TEST)=DISP_CHANGE_SUCCESSFUL then
 ChangeDisplaySettings(D,CDS_UPDATEREGISTRY)
 else
 MessageBox(h,\'This mode is not supported by your video.\',
 \'Failed to change mode\', MB_ICONWarning);
 end;
 
 Вызывается так: SetScreen(глубина цвета, разрешение по горизонтали, разрешение по вертикали, частота в герцах); Например:
 SetScreen(16,800,600,80); {16 бит цвет, 800х600, 80Гц.}
 
 При завершении программы для восстановления старых параметров вызываем эту процедуру с сохраненными ранее значениями:
 SetScreen(BPP,DefWidth,DefHeight,80);
 
 Взято с http://delphiworld.narod.ru
 |  
|   | Аксион (статус: 4-ый класс), 24 июля 2007, 14:42 [#2]:вот ещё: procedure ChangeDisplayResolution(x, y: word);
 var
 dm: TDEVMODE;
 begin
 ZeroMemory(@dm, sizeof(TDEVMODE));
 dm.dmSize := sizeof(TDEVMODE);
 dm.dmPelsWidth := x;
 dm.dmPelsHeight := y;
 dm.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT;
 ChangeDisplaySettings(dm, 0);
 end;
 |  
|   | Dron (статус: Студент), 25 июля 2007, 09:48 [#3]:Матвеев Мефодий Олегович: размеры рабочего стола и разрешение экрана - это разные вещи. Речь совсем о другом. С уважением. |  
|   | Аксион (статус: 4-ый класс), 25 июля 2007, 11:53 [#4]:>>размеры рабочего стола и разрешение экрана - это разные вещи. Речь совсем о другом. О чём?
 |  
|   | Dron (статус: Студент), 25 июля 2007, 14:09 [#5]:Речь о размерах той области рабочего стола, что является клиентской, т.е. той, где расположены значки и на которой размещаются открытые окна. К примеру, если изменить размер панели задач (например, "подтянуть" её повыше), то эта область станет меньше в высоту. Разрешение экрана в этом случае не при чём. С уважением. |  
|   | Фамилия Имя Отчество (статус: Посетитель), 26 июля 2007, 11:58 [#6]:Совершенно верно Dron. Нужно поменять размер, а не разрешение.
 
 Аналог: winamp при modern skin в режиме docked.
 |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |