A few days ago, I saw such an article on vckbase. Now I want to imitate it to implement this function [quote]. With the development and popularization of computer technology, computers have gradually entered people's daily life. People use it to learn, entertain, and interact with information. The requirements for various software products have also been improved. In addition to basic functions, it is easy to operate the software and the aesthetics of the interface. It is also an essential factor for successful software. The beautiful and personalized interface is one of the magic weapons for the software to attract and retain users. The communication software QQ/MSN is a typical representative of such products, the following uses VC ++ to simulate the QQ interface for your reference.
I believe you are quite familiar with QQ, so we will use Visual C ++ for implementation. Before that, it is necessary to introduce the general situation to the readers.
In fact, the most important part of the entire process is the custom part of the personalized interface, which is also the most difficult part. Concerning the interface programming knowledge, it is true that this is a relatively large architecture, and we can't simply describe it in a brief space, in addition, the software development industry also has a tendency to shorten the development cycle and improve the development efficiency, so we can use external controls to help us solve this difficulty problem.
Here, we will also briefly introduce the selection of skin replacement controls. Of course, this is just a personal point of view and is only for your reference. Currently, the market provides multiple Skin-changing products (SkinMagic, Skin ++, USkin, AppFace, SkinCrafte, and so on), among which SkinMagic, AppFace, and USkin are relatively sloppy, the effects of some elements on the interface are unsatisfactory. skin ++ and SkinCrafte are doing well in this respect. objectively speaking, Skin ++ is currently an excellent product in China. It consumes more resources than SkinCrafte in Russia, the Russian SkinCrafte performs better in terms of appearance performance than Skin ++, COOL.
However, this implementation has not selected any of the above products, because SkinBeauty is a new one, which is arrogant in terms of performance and appearance, what's more, it claims to provide good keyboard operation support and claim that Vista's glass sand grinding effect can be made in systems such as Win2K and XP.
Of course, these are the so-called comparison results. Another reason for choosing SkinBeauty is that SkinBeauty can use its own skin editing software SkinBeauty Studio to implement a set of Window Interfaces with multiple styles in skin, button style. This does not seem to be available for any of the above products. This is also the requirement of our project (the main interface, the chat dialog box window is different, and there are multiple buttons with different features and other details ). [/Quote] 0. preparation: Use the corresponding skin editing software SkinBeautyStudio to edit the skin of each element on the interface. Generally, the nice-looking interface is drawn by the image. Here we download the existing BeautyQQ from the main site. bsk skin ). The downloaded skin replacement Development Library SkinBeauty. dll, SkinBeauty. lib) and the interface file SkinBeautyExport. h. Be prepared, give it after this article, or download it yourself on the [url] www.afe-soft.com [/url. 2. After loading the skin replacement library and completing the basic framework, the interface is still very earthy and the running effect is difficult to satisfy. So we can load the skin replacement library and change the interface appearance of the program.
Put the prepared skinBeauty. dll library in the running directory of the project, and put the SkinBeautyExport. h file and SkinBeauty. lib file in the directory of the project to introduce and call the function interface later. Generally, DLL library calls are divided into two types: static calls and dynamic calls during program running. For the differences between the two types, refer to other articles. Here, we will use the static call Method for implementation)
Add the import declaration in the appropriate location. Here we choose to add it in the stdafx. h file:
//inside stdafx.h//SkinBeauty Lib Call #include "SkinBeautyExport.h"#pragma comment(lib,"SkinBeauty.lib")
In the project initialization location (here select the Project Creation instance cpp file, BeautyQQ. the CBeautyQQApp: InitInstance () function of cpp can be loaded here.) Add the code to the skin:
BOOL CBeautyQQApp::InitInstance(){CString exeFullPath;CString strFilename;int nLen = GetModuleFileName(NULL, exeFullPath,MAX_PATH);CString strPath(exeFullPath);strPath = strPath.Left(strPath.ReverseFind('\\'));strFilename = strPath +_T("\\beautyQQ.bsk");SkinLoad(THCAR2char(strFilename.GetBuffer(0)));......}