Page 1 of 1

Đổi font Hệ thống không làm "nứt" các icon ở Traysystem

Posted: Wed 23/04/2008 11:49 pm
by NoBi
Thủ thuật: Đổi font Hệ thống không làm "nứt" các icon ở Traysystem
Tác giả: Sưu tầm
Mô tả: Mình xin giới thiệu với các bạn một đoạn chương trình dùng để đổi font hệ thống. Bình thường khi dùng các hàm API để đổi font của hệ thống thành font của mình thì các biệu tượng phía dưới Traysystem sẽ bị co giãn kích thước làm cho các biểu tượng không thể hiện thị đúng kích thước ban đầu. Đoạn chương trình này sẽ khắc phục được nhược điểm trên.

Re: Đổi font Hệ thống không làm "nứt" các icon ở Traysystem

Posted: Sat 14/11/2009 7:35 pm
by hahuuhai
Mình đã thử cái file gửi kèm. Chạy rất tốt. Nhưng mình lại thấy một vấn đề thế này: Chẳng hạn, mình vừa load form lên, chương trình đổi font hệ thống rồi, đột nhiên mất điện hay gặp trục trặc gì đó khiến chương trình kết thúc không bình thường. Khi đó, sẽ không kịp trả lại font cũ, và cài hàm ThayFont() coi như vô nghĩa. Mình muốn hỏi là làm thế nào để có thể ghi đích xác tên font của nó và lưu trữ vào một chỗ nào đó không? Load form lên, nếu đang là form như ý muốn thì không đổi, khi kết thúc thì đặt lại font đã lưu được. Và nếu làm được như vậy, mình nghĩ không cần dùng hàm PhucHoiFont() nữa.
Bạn chỉ giúp mình với...

Re: Đổi font Hệ thống không làm "nứt" các icon ở Traysystem

Posted: Tue 16/02/2010 1:21 pm
by delta_hung1992
Nếu vậy thì anh hãy xuất các biến cần lưu trữ ra file lúc khởi động chương trình. Khi chạy chương trình thì kiểm tra file đó có tồn tại hay ko: Nếu có thì giữ nguyên font (có thể lấy lại các thông số bị mất trước đó do mất điện). Sau khi thoát thì chuyển lại font hệ thống (có thể đọc lại file nếu cần), xóa file đó đí, rồi exit! Thuật toán như sau:
B1: Bắt đầu
B2: Kiểm tra: sự tồn tại của file lưu thông số?
+ Nếu tồn tại: Thông báo có trục trặc trong lần tắt trước đó (nếu cần thiết) rồi đọc lại file lấy thông số, nhảy đến bước 4
+ Nếu ko tồn tại: Sang bước 3
B3: Đọc font hệ thống rồi ghi ra file
B4: Apply font của mình vào
B5: Chạy chương trình
B6: Kiểm tra: thoát chương trình?
+ Nếu ko: sang bước 5
+ Nếu có: sang bước 7
B7: Đọc lại file để lấy thông số (nếu cần), chuyển lại font của Win
B8: Xóa file thông số
B9: Thoát (có thể nói bye bye với người dung :P )
Chúc anh thành công! ;)

Re: Đổi font Hệ thống không làm "nứt" các icon ở Traysystem

Posted: Sat 23/10/2010 11:32 pm
by bboy_nonoyes
Đổi kiểu này nguy hiểm quá!!! Nhưng không sao! Chỉ cần chọn Theme cho Desktop lại là được! Hehe...