10
Câu hỏi rất đơn giản. Làm thế nào để phát hiện sự thay đổi độ phân giải màn hình trong Delphi?Làm thế nào để phát hiện sự thay đổi độ phân giải màn hình trong Delphi?
Câu hỏi rất đơn giản. Làm thế nào để phát hiện sự thay đổi độ phân giải màn hình trong Delphi?Làm thế nào để phát hiện sự thay đổi độ phân giải màn hình trong Delphi?
Bạn chỉ cần phát hiện thông báo WM_DISPLAYCHANGE
.
Ví dụ,
TForm1 = class(TForm)
private
protected
procedure WMDisplayChange(var Message: TWMDisplayChange);
message WM_DISPLAYCHANGE;
{ Private declarations }
public
{ Public declarations }
end;
...
procedure TForm1.WMDisplayChange(var Message: TWMDisplayChange);
begin
ShowMessageFmt('The screen resolution has changed to %d×%d×%d.',
[Message.Width, Message.Height, Message.BitsPerPixel]);
end;
Sample screenshot http://privat.rejbrand.se/screenreschange.png
Nhìn nhắn có cái gì để làm với các số liệu của hệ thống. Ví dụ. WM_SYSTEMMETRICSCHANGE –
có thể trùng lặp của [Cách nhận biết khi nào số, vị trí hoặc độ phân giải của màn hình đã thay đổi?] (Http://stackoverflow.com/questions/11004051/how-to-recognize-when-number-position-or-resolution -of-màn hình-đã thay đổi) –
@David - Điều đó hiện được đánh dấu trùng lặp của cái này (tự hỏi điều gì xảy ra nếu chúng recurse ..). –