Chả hiểu câu hỏi thế nào nữa:((, không biết có phải là hỏi về làm cho cái WM_PAINT không hoạt động khi Sizing không :-??
Trong Windows Xp có một thiết lập mặc định là "Show window contents while dragging". Và đa số người dùng không thay đổi thiết lập này ( đa số vì ko biết cách thay đổi, ngoài ra một số thì thích để như thế ). Với thiết lập như vậy, mỗi lần người dùng resizing cửa sổ, cửa sổ cũng luôn thay đổi ( vẽ lại ). Điều này khiến cho những máy cấu hình chậm thể hiện những cửa sổ đang resizing bị giật, và gây khó chịu cho người dùng.
Tui muốn tạo một cửa sổ, mà ko chịu ảnh hưởng của : "Show window contents while dragging". Tất nhiên là nó ko tắt cái chức năng đó của cả hệ thống, mà nó chỉ làm cho duy nhất cái cửa sổ của mình trở về với cách resize của Win9x.
Tui đã thấy có một chương trình làm được cái điều điên rồ đó. Đó chính là cái cửa sổ thiết kế hộp thoại và toolbox trong resource ( VC6 ).
Rất mong các cao thủ chỉ giúp !
Chả hiểu câu hỏi thế nào nữa:((, không biết có phải là hỏi về làm cho cái WM_PAINT không hoạt động khi Sizing không :-??
Hic ! Thế này nhé : Trong Windows 9x, khi người dùng resize cửa sổ thì nó hiện ra một khung chữ nhật xám. Khi người dùng nhả chuột ra, cửa sổ sẽ thay đổi kích thước thành đúng cái khung chữ nhật xám đó.
Mặc định trong Windows Xp, có một cái chức năng gọi là "Show windows contents while dragging" ( System Properties > Advanced > Performance ( groupbox ) > Setting > Visual Effect ( tab ) > Show window contents while dragging. )
Khi bật chức năng này ( mặc định là bật ), thì khi resize, move window, người ta sẽ ko thấy cái khung chữ nhật màu xám như của Windows 9x xuất hiện nữa, mà nó thay đổi kích thước luôn. Tức là kéo cạnh cửa sổ đến đâu thì nó resize luôn tới đó ( trực quan hơn của Win9x ).
Ý của tui là muốn chương trình của mình ko bị ảnh hưởng của cái thiết lập như thế này. Tức là, mặc dù người dùng vẫn đang bật "Show....dragging", nhưng chương trình của ta vẫn có cách resize theo cái kiểu khung chữ nhật như của Windows 9x.
Tự viết hàm di chuyển thì nó sẽ không bị ảnh hưởng của điều đó. Thử disable cái titlebar cũ đi và xây dựng một cái titlebar mới bằng một label xem. Nếu không thì phải vô hiệu hóa các thuộc tính của titlebar có sẵn(Cách này có thể phải sử dụng đến vài hàm API đó, nhưng Dreaminess chưa thử làm theo cách này)
Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó.Email: kevin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
Phone: 0972 89 7667
Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp hoặc bị sự thiếu kỷ luật làm tiêu tan sự nghiệp.
Có ai chỉ dùm ko vậy ? Sao dạo này, forum ít người trả lời quá. Không biết vì hỏi câu khó quá hay là mọi người chán vào diễn đàn này rồi. Hu hu !
Kết hợp OnMoving & OnDraw (OnPaint):
1. OnMoving: vẽ cái khung chữ nhật ra và bật cờ quạt lên...
2. OnDraw/OnPaint chỉ "paint" khi nó kô dragging (dựa vào cờ quạt gì ở trên đó)...
Đã được chỉnh sửa lần cuối bởi instcode : 02-02-2007 lúc 12:47 AM.
Nói thì dễ, làm thì khó. Khi dragging, nó sẽ thay đổi kích thước cửa sổ. Ai biết chi tiết hơn thì chỉ dùm. ( Vả lại, nếu có làm được thì cũng hơi bị mệt đó )Nguyên bản được gửi bởi instcode