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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.09.2008, 21:58   #1
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию Диагональ монитора.

Здравствуйте !!!
Подскажите, пожалуйста, как узнать диагональ монитора компьютера (в Delphi) и/или количество пикселей на дюйм и/или см.
Levsha100 вне форума Ответить с цитированием
Старый 22.09.2008, 22:02   #2
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

монитора или текущее разрешение?
Screen.Width;
Screen.Height;
_SERGEYX_ вне форума Ответить с цитированием
Старый 22.09.2008, 22:43   #3
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Лучше текущее разрешение.
Levsha100 вне форума Ответить с цитированием
Старый 08.12.2008, 23:52   #4
in*tEr
 
Аватар для in*tEr
 
Регистрация: 07.12.2008
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Levsha100 Посмотреть сообщение
Здравствуйте !!!
Подскажите, пожалуйста, как узнать диагональ монитора компьютера (в Delphi) и/или количество пикселей на дюйм и/или см.
Чет ты Levsha100 везде, куда не кинь , ну ладно, раз это опять ты - вот код на Buildere 6 C++ - перевести в делфи будет легче чем из Visual

Так что лови:



Изменение картинки на рабочем столе

// Для изменения картинки на рабочем столе
// используйте следующий код:
SystemParametersInfo(SPI_SETDESKWAL LPAPER, 0, "pic.bmp",
SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);
// где pic.bmp - имя вашего файла с картинкой


Изменение картинки на рабочем столе(вариант 2)

//Первый вариант в C++Builder 5 вызывает ругань
// BoundsChecker'a, хотя и работает.
// Нижеприведенный вариант никакой ругани не вызывает, но
// почему-то работает не на всех машинах. Для изменения картинки
// на рабочем столе используйте следующий код:
SystemParametersInfo(SPI_SETDESKWAL LPAPER, 0, "pic.bmp",
SPIF_UPDATEINIFILE);
// где pic.bmp - имя вашего файла с картинкой


Изменение параметров экрана

// Для изменения параметров экрана используйте следующий
// код:
DEVMODE DM;
DM.dmSize = sizeof(DEVMODE);
DM.dmBitsPerPel = 16; // глубина цвета, бит на пиксель
DM.dmPelsWidth = 1024; // разрешение по горизонтали
DM.dmPelsHeight = 768; // разрешение по вертикали
DM.dmFields = DM_BITSPERPEL +
DM_PELSWIDTH +
DM_PELSHEIGHT +
DM_DISPLAYFREQUENCY;
DM.dmDisplayFrequency = 75; // частота обновления экрана
ChangeDisplaySettings(&DM, 0);
// ЗАМЕЧАНИЕ: при изменении параметров смотрите чтобы
монитор поддерживал это режим


Как узнать частоту обновления экрана

// Для получения частоты обновления экрана напишите следующий код:
HDC hDCScreen = GetDC(NULL);
int Refresh = GetDeviceCaps(hDCScreen, VREFRESH);
ReleaseDC(NULL, hDCScreen);
// в Refresh содержится частота обновления экрана по горизонтали


Как узнать разрешение экрана (VCL вариант)

// Разрешение экрана можно узнать, прочитав значения
// свойств Screen->Width и Screen->Height:
int HorzRes = Screen->Width;
int VertRes = Screen->Height;


Как узнать разрешение экрана (WinAPI вариант)

// Для получения разрешения экрана напишите следующий код:
HDC hDCScreen = GetDC(NULL);
int Horres = GetDeviceCaps(hDCScreen, HORZRES);
int Vertres = GetDeviceCaps(hDCScreen, VERTRES);
ReleaseDC(NULL, hDCScreen);
// в Horres содержится разрешение экрана по горизонтали,
// в Vertres содержится разрешение экрана по вертикали.


Как узнать разрешение экрана

// Для получения разрешения экрана напишите следующий код:
int screenW=GetSystemMetrics(SM_CXSCREE N);//Получить ширину экрана
int screenH=GetSystemMetrics(SM_CYSCREE N);//Получить высоту экрана
// в screenW содержится разрешение экрана по горизонтали,
// в screenH содержится разрешение экрана по вертикали.


Отображение свойств дисплея

// Следующий код отобразит на экране диалоговое
// окно свойств дисплея:
ShellExecute(NULL, "", "Desk.cpl", "", "", SW_SHOWNORMAL);


Как поместить вид рабочего стола в буфер

Напишите следующий код:
#include <Clipbrd.hpp>
void __fastcall TForm1::Button1Click(TObject *Sender)
{
unsigned DataHandle;
HPALETTE APalette;
Word Format;
Graphics::TBitmap *Bitmap=new Graphics::TBitmap;
HDC DC=GetDC(0);
try{
Bitmap->Height=Screen->Height;
Bitmap->Width=Screen->Width;
BitBlt(Bitmap->Canvas->Handle , 0, 0, Screen->Width,
Screen->Height,DC, 0, 0, SRCCOPY);
//Изображение экрана теперь в Bitmap, запишем его в бyфеp обмена
Bitmap->SaveToClipboardFormat(Format,DataH andle,APalette);
Clipboard()->SetAsHandle(Format,DataHandle);
}
__finally
{
delete Bitmap;
ReleaseDC(0,DC);
}
}


Как рисовать на Десктопе

Напишите следующий код:
HDC hdc = CreateDC ( TEXT("DISPLAY"), NULL, NULL, NULL );
Rectangle( hdc, 100,100, 200, 200);
DeleteDC ( hdc );

Как закрасить рабочий стол по пикселю

Напишите следующий код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{ TCanvas *dt = new TCanvas ;
randomize();
dt->Handle = GetDC(0);
while (dt)
{
dt->Pixels[random(1024)][random(768)]= 0 ;
}
}
in*tEr вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбор монитора Cannibal Компьютерное железо 3 25.09.2008 16:39
Выбор монитора Ulagay700 Компьютерное железо 2 04.09.2008 09:59
Вопрос: Побочная диагональ матрицы в С++ john350 Помощь студентам 4 16.03.2008 22:19
Определение разрешения монитора(ов) lamonana Общие вопросы Delphi 2 09.03.2008 18:56
данные о видеосистеме: тип видеоадаптера, тип монитора, режим монитора: разрешение, частота обновления WaxeP Win Api 9 15.04.2007 18:12