Поворот экрана

Средства разработки, технические вопросы, отвечает (по мере сил) Отдел Разработок
Закрыто
KUKpda
Новенький (0 lvl)
Сообщения: 1
Зарегистрирован: Пт мар 11, 2005 19:06

Поворот экрана

Сообщение KUKpda » Пт мар 11, 2005 19:11

Доброго времени суток, форум!

Подскажите плз как "повернуть" экран для PDA с помощью eVT 3.0 (MFC или Win32 функции).

Буду благодарен за link с примером.
iPAQ 5550<=IrDA=>Alcatel 715<=GPRS=>Internet + 128Mb SD + Bluetooth Adaptor BLUETAKE BT007
(было: Compaq iPaq 3870)

Аватара пользователя
KAjFASH
Кандидат (3 lvl)
Сообщения: 117
Зарегистрирован: Чт авг 19, 2004 16:40

Сообщение KAjFASH » Пт мар 11, 2005 23:04

Для не 2003 SDK (eVC3):

Код: Выделить всё

//Requirements: 
//OS Versions: Windows CE .NET 4.0 and later. 
//Header: Windows.h.
//#define DM_DISPLAYORIENTATION 0x00800000L
//#define CDS_TEST            0x00000002
//#define DMDO_0      0		// 0 degree
//#define DMDO_90     1		// 90 degree
//#define DMDO_180    2		// 180 degree
//#define DMDO_270    4		// 270 degree
//LONG ChangeDisplaySettingsEx(LPCTSTR lpszDeviceName, LPDEVMODE lpDevMode, HWND hwnd, DWORD dwflags, LPVOID lParam);
typedef struct _devicemodeW_420 {
	WCHAR  dmDeviceName[CCHDEVICENAME];
	WORD dmSpecVersion;
	WORD dmDriverVersion;
	WORD dmSize;
	WORD dmDriverExtra;
	DWORD dmFields;
	short dmOrientation;
	short dmPaperSize;
	short dmPaperLength;
	short dmPaperWidth;
	short dmScale;
	short dmCopies;
	short dmDefaultSource;
	short dmPrintQuality;
	short dmColor;
	short dmDuplex;
	short dmYResolution;
	short dmTTOption;
	short dmCollate;
	WCHAR  dmFormName[CCHFORMNAME];
	WORD   dmLogPixels;
	DWORD  dmBitsPerPel;
	DWORD  dmPelsWidth;
	DWORD  dmPelsHeight;
	DWORD  dmDisplayFlags;
	DWORD  dmDisplayFrequency;
	DWORD  dmDisplayOrientation;
// #if (WINVER >= 0x0400)
//     DWORD  dmICMMethod;
//     DWORD  dmICMIntent;
//     DWORD  dmMediaType;
//     DWORD  dmDitherType;
//     DWORD  dmReserved1;
//     DWORD  dmReserved2;
// #endif /* WINVER */
} DEVMODEW_420;

// Rotate screen in portrait mode
HINSTANCE m_hDll = LoadLibrary(TEXT("COREDLL.dll"));
if (m_hDll) {
	//function declarations.
	typedef LONG (*LPChangeDisplaySettingsEx) (LPCTSTR lpszDeviceName, _devicemodeW_420* lpDevMode, HWND hwnd, DWORD dwflags, LPVOID lParam);
	LPChangeDisplaySettingsEx _ChangeDisplaySettingsEx;
	// actual function mapping
	_ChangeDisplaySettingsEx = (LPChangeDisplaySettingsEx)GetProcAddress(m_hDll, TEXT("ChangeDisplaySettingsEx"));
	if(_ChangeDisplaySettingsEx){
		// Get Device display orientation
		DEVMODEW_420 devmode = {0};
		devmode.dmSize = sizeof(DEVMODE);
		devmode.dmFields = 0x00800000L;//DM_DISPLAYORIENTATION;
		_ChangeDisplaySettingsEx(NULL, &devmode, 0, 0x00000002 /*CDS_TEST*/, NULL);
		if (devmode.dmDisplayOrientation != 0) {
			// Set display orientation
			devmode.dmDisplayOrientation = 0/*DMDO_0*/; //portrait mode
			devmode.dmFields = 0x00800000L;//DM_DISPLAYORIENTATION;
			_ChangeDisplaySettingsEx(NULL, &devmode, NULL, 0, NULL);
		}
	}
}
РегардЗ...
iPAQ, FS LOOX, Versija, Palm, Symbol... SD: 64,128,512
www.salesworks.com.ua

Закрыто

Вернуться в «Программирование для КПК»