# Message Handler

## Giới Thiệu

Kích hoạt sự kiện khi có các thay đổi liên quan đến cửa sổ.

Dưới đây là bảng danh sách các sự kiện liên quan đến cửa sổ.

<table><thead><tr><th width="275">Sự Kiện</th><th>Mô Tả</th></tr></thead><tbody><tr><td>WM_CHAR</td><td>Nếu cửa sổ window đang ở trạng thái kích hoạt, khi ta nhấn 1 phím bất kỳ và giữ phím thì sự kiện sẽ được kích hoạt</td></tr><tr><td>WM_CLOSE</td><td>Khi nhấn nút đóng cửa sổ sự kiện sẽ được kích hoạt</td></tr><tr><td>WM_COMMAND</td><td>Khi có một sự kiện như nút bấm, menu được kích hoạt nó cũng sẽ được kích hoạt</td></tr><tr><td>WM_DESTROY</td><td>Kích hoạt trước khi cửa sổ bị hủy bỏ, giúp chúng ta thực hiện việc dọn dẹp</td></tr><tr><td>WM_HSCROLL</td><td>Khi thanh cuộn ngang được cuộn sẽ kích hoạt</td></tr><tr><td>WM_KEYDOWN</td><td>Khi một phím được bấm giữ và cửa sổ phải ở trạng thái kích hoạt</td></tr><tr><td>WM_KEYUP</td><td>Khi một phím được nhả</td></tr><tr><td>WM_LBUTTONDBCLICK</td><td>Khi chuột trái được nhấn đúp</td></tr><tr><td>WM_LBUTTONDOWN</td><td>Khi chuột trái nhấn</td></tr><tr><td>WM_LBUTTONUP</td><td>Khi chuột trái nhả</td></tr><tr><td>WM_MBUTTONDBCLICK</td><td>Khi chuột giữa nhấn đúp</td></tr><tr><td>WM_MBUTTONDOWN</td><td>Khi chuột giữa nhấn</td></tr><tr><td>WM_MBUTTONUP</td><td>Khi chuột giữa nhả</td></tr><tr><td>WM_MEASUREITEM</td><td>Khi các thành phần như nút bấm, list cần được đo lường kích cỡ</td></tr><tr><td>WM_MOUSEHOVER</td><td>Khi di con trỏ chuột vào phạm vi cửa sổ</td></tr><tr><td>WM_MOUSELEAVE</td><td>Khi con trỏ chuột rời khỏi cửa sổ</td></tr><tr><td>WM_MOUSEMOVE</td><td>Khi con trỏ chuột di chuyển</td></tr><tr><td>VM_MOUSEWHEEL</td><td>Khi con lăn chuột được cuộn và cửa sổ đang ở trạng thái kích hoạt</td></tr><tr><td>WM_NCLBUTTONDOWN</td><td>Khi người dùng nhấn chuột vào một khu vực không có khung trong cửa sổ</td></tr><tr><td>WM_RBUTTONDBCLICK</td><td>Khi chuột phải nhấn đúp vào cửa sổ</td></tr><tr><td>WM_RBUTTONDOWN</td><td>Khi chuột phải nhấn vào cửa sổ</td></tr><tr><td>WM_RBUTTONUP</td><td>Khi chuột phải nhả chuột</td></tr><tr><td>WM_SETCURSOR</td><td>Kích hoạt khi con trỏ chuột di chuyển vào 1 thành phần trên cửa sổ, nó giúp cung cấp thông tin về con trỏ chuột</td></tr><tr><td>WM_SIZE</td><td>Kích hoạt khi kích thước của cửa sổ thay đổi</td></tr><tr><td>WM_SYSCOMMAND</td><td>Kích hoạt khi 1 lệnh hệ thống được kích hoạt</td></tr><tr><td>WM_TIMER</td><td>Khi một tác vụ định kỳ được kích hoạt</td></tr><tr><td>WM_VSCROLL</td><td>Khi cuộn chuột dọc</td></tr><tr><td>WM_WINDOWPOSCHANGED</td><td>Khi vị trí của cửa sổ đã được thay đổi</td></tr><tr><td>WM_WINDOWPOSCHANGING</td><td>Khi vị trí của cửa sổ đang được thay đổi</td></tr></tbody></table>

## Video Hướng Dẫn

{% embed url="<https://youtu.be/dnjlesVt2ig>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.taiamk.pro/gui/window/message-handler.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
