WTL's father Nenad Stefanovic Interview
Interview: myan, translation: cber
Myan introduction
As the most important features of modern C , Template is omitted slightly in various traditional fields. From the basic algorithm and data structure, to the regular expression and XML parsing, from high performance mathematical computing, to resource allocation and management, from the network distributed computing environment, to the component model, from static polymorphism dimensions, to Automatic generation of design patterns, magical template shows its strong strength, if there is no hidden pain, Template lovers can go to carnival.
This faint pain is in the GUI programming field.
The existing most mature GUI framework and toolbases are in the early 1990s, whether it is because of the reason, in short we can't see any important use of Template technology in these environments. Whether it is a proprietary MFC and OWL or an open source WXWindow and Mozilla, it is a special or open source to say unclear QT, which has many different different aspects, and the polarization is unprecedented in the treatment template technology: strictly limited to the bottom In the field of data structures, the template technology flows into the GUI main structure. The most excessive WXWindow and Mozilla, which strictly prohibit the use of any C characteristics, templates, abnormalities, multi-inheritance, STL, etc. developed after 1990, all on blacklist. You are interested, let's take a look, it is said that it is a C code to write a specification, but it is better to say a unfair judgment for C modern characteristics in the GUI field.
Is the template technology really in the GUI field?
WTL gives a loud answer.
WTL is a complete set of GUI frames developed by Microsoft ATL Development Group members in the ATL Windowing mechanism, using the Template Technical Organization and Creating a GUI object, built exquisite object-oriented frame (yes, here Object Oriented and Template reached Exquisite fusion). Although there is no official support for Microsoft, although the number of users is very small, it is indeed "I have used it", and I am a Microsoft MVP. I even said that this is the best Framework that Microsoft has introduced. It's a interesting irony, the best thing is not officially supported. There are a lot of rumors about WTL, such as this thing is originally specific to Microsoft, just because they are accidentally leaked, etc., this more intensifies its mysterious color. I believe that everyone must have a lot of problems. We specially invited Mr. Nenad Stefanovic, the father of WTL, conducted an online interview, hoping to help you understand the true face of WTL.
[C View]: I Think Most of Our Readers Are Not Very Familiar with you, SO Would You please Tell US Your Story Here? We are very fond of tr. What do you think About China and Chinese people?
[C View]: I think, many people in our readers are not very familiar with you, can you give us a brief introduction to you? We will be very happy to hear your own readme. Also, can you also tell us about our basic views of China and the Chinese people?
[Nenad]: I am a software developer at Microsoft Your readers will probably know me as a creator of Windows Template Library, WTL I am from former Yugoslavia, where I finished school and started working on software development I've been living... in US for 10 years now.I am intrigued and impressed by the Chinese culture and tradition. I think that China is now in a great position of progress as a country and a nation. I discovered that, being from former Yugoslavia, I already know Many Things About China, And Getting to Know People from China Gave Me A Bit of The "Everyday" Life Perspective As Well. I'd Like To Learn More, SO I Hope to Visit China One Day.
[NENAD]: Ok. I am working in Microsoft now, a software developer in it. Some people who have a magazine reader may know that I am a creator of Windows Template Library (WTL). I am from the former Yugoslavia, where I completed my studies and started my work career as a software developer. Now, I have lived in the United States for more than 10 years.
China's culture and tradition have left me a very deep impression, I am very interested in this. I think, as a country and the nation, China is already a great and continuously growing position. As a person who came from the front Yugoslavia, I have long learned a lot about China. In the process of contact with the people from China, I also learned about some of your daily lives. I still want to know more (about China), I hope that one day I can come to China to visit.
[C View]: WHEN AND why DID You First Think About WTL? What's Its Original Purpose? How do you see it it it?
[C View]: When did you start thinking about developing WTL? why? What is the initial purpose when you develop it? How do you see the future development?
[Nenad]:.. WTL was born while I was working on ATL (Active Template Library) We were extending ATL to support ActiveX controls, and I was working on the windowing support I started thinking that the same techniques can be applied to much broader windowing support, for the much richer UI for controls, components, and also applications. So, WTL was created as a part of ATL that would extend ATL to support any kind of UI related component or application. It did not ship with ATL in Visual Studio, however, so I decided to ship it as a standalone library that extends ATL.I think that WTL will continue to be a great option for developers writing Windows applications and components. I do not see big changes or additions to WTL, because One of the design principles for WTL WAS TO FOLLOW THE WIN32 UI API AND Design. It Will Continue To Do So.
[NENAD]: WTL is the product I am working on ATL (Active Template Library). At that time we were extending ATL to support ActiveX Control, and I was responsible for the support of the window mechanism. At this time, I will start thinking, is it possible to apply the same technique into a more wide window mechanism to get a richer UI control, component, so about the application? So, as part of the ATL, WTL was developed. It expands ATL to allow it to support various types of components or applications related to UI. However, it did not integrate with the ATL in Visual Studio, so I decided to release it as a separate ATL extension library.
I think WTL will always be a good choice for developers who develop applications and components under Windows. I don't think there is a big change in WTL (or adding) because a design purpose of WTL is "following Win32 UI API and its design." This is now, will still be so in the future.
[C View]: I First Heard About WTL in July, 2000. At this Time, I Thought: "NO OFFICIAL Support, No Documentation, No Commercial Hype, IT Will Die In 6 Months." Now, Fifteen Months Passed, IT Spreads wider and be more vigorous. Lots of C programmers, esp. the ones we regard them as "gurus and masters" involved in WTL. I know it's surely because WTL is a wonderful library, but it must be more than a wonderful library to gain Such Attents WITHOUT OFFICIAL FORCE.WHAT Do You Think WTL's Reason? [C View]: My first contact WTL is in July 2000. At that time, I thought: "There is no official support, there is no document, and there is no commercial blow. It can only survive for 6 months." But now 15 months passed, it passed more extensive, more Vibrant. Many C programmers, especially some of our "experts" and "master", are using WTL. I certainly know that this is mainly because of the excellent WTL, but I want to attract so much attention without the official power involved, WTL must have more excellent things. How do you see the success of WTL? What is the reason why it succeeds?
[Nenad]:. I think that the main reason of WTL's success is that it did fit the need of developers at the right time More and more developers started using ATL, and it was natural for them to start using WTL when they needed more UI support. It seems that WTL was perceived as a more open project than others, judging by the support provided by other parties in the development community. Many people did a wonderful job of creating samples, documentation and support for WTL. The support from the programming Community is Very Important Part of The Acceptance and Success of WTL.
[Nenad]: I think the most important reason for WTL success is that it is indeed, and timely meets the needs of developers. More and more developers began using ATL, when they need more UI support, they will naturally start using WTL. From other development teams, WTL looks more open than other projects. A lot of people have made a lot of work for WTL, such as: Creating sample code, writing documents, etc. WTL can be widely accepted and achieved, from these development team support is definitely an important factor. [C View]: What do you think About MFC? Do you like it? If you don't, why? And the most most confusing Thing IS Managed C , IS IT C ? Do The Leaders of MC Really Think Some C Uses Will Go To Learn It? do you believe?
[C View]: What do you think about MFC? Do you like it? If not, why? Also, the most confused is Managed C , is it C ? Is MC advocate really think there will be some C users to turn to learn it? What is your opinion?
[Nenad]:.. I think that MFC is a great framework library Do not forget that MFC was designed at the time that C compiler was rather limited, and the main platform was 16-bit Windows Unfortunately, because MFC was designed as a framework, it was really hard to evolve it to use better C support in newer compilers, and to add support for new features added to Windows in the meantime. What I do not like about MFC is the DLL approach, which causes many compatibility problems And Framework Design, Which Dictates Too Many Things About App Design.
Managed C is an extension to C which allows C programs to use managed code. It is very important to understand that you can compile your existing C code using MC without any changes. MC allows developers to use both familiar non-managed C and managed code . in the same module that provides an excellent way to extend existing code to interact with managed code, as well to create new projects that can use both managed and traditional C [Nenad]: I think MFC is an amazing framework library. Please don't forget that at the beginning of the MFC, the C compiler has a lot of limitations, and the main platform is only a 16-bit Windows. Unfortunately, since the MFC is designed to become a frame, it is difficult for us to use better C features in the new compiler to improve it, it is difficult to add a lot of new features in Windows to the MFC. The place I don't like MFC is that it is highly dependent on DLL - because it will lead to many compatibility issues; there is also the entire frame design of MFC - it limits too much in the design of the application.
Managed C is an extension of C , which allows C programs to be used to use managed code. One of the important features we need to understand is that we can use MC to compile existing C code without any changes to them. MC allows developers to develop the same module using the non-accomplished code they are familiar with and managed code. This provides a very good way to interact with new managed code and make us create a project while using managed and traditional C code.
[C View]: in The Past 15 Years or More, C and C Is The Base of Almost All Microsoft's Technologies (OS, COM, ETC.). WE C User PaiD a Lot of Hard Work to catch them, Because We felt What WE PAID WAS WORTHY (?). NOW, IT Seems the Climate Changed. .NET IS COMING, THE World Is Going to Be Full of Clrs And / OR JVMS. There Has Been A Decampment from C . so what do you think about the FUTURE OF C (Not Mc ) in Mircosoft Technologies? Will It Go Away? WILL IT BECOME A Marginal Language?
[C View]: In the past 15 years (or even a longer period of time), C and C constitute the basis of almost all Microsoft technology (eg, OS, COM, etc.). We spend a lot of time to familiarize them with a lot of time and master them (C and C ), because we believe that we will have to return (?). But the wind now seems to have a big change. .NET appears, the world seems to be full of CLR (Common Language Runtime, public language runtime) and / or JVM (Java Virtual Machine, Java virtual machine). Now C has a signs of retreat. So, how do you think about the prospects of C (not MC ) in Microsoft technology? Will it suffer from this? Still this fall as a marginal language? [Nenad]: Well, the world is changing too The new type of development for Web services and connected applications is on the horizon I think that new languages, like Java, C #, and VB.NET, were developed to address two main.. issues - to simplify software development and to provide better support for Internet development Simplifying software development allows more developers to write good applications and cuts down on time needed to finish a project Supporting Internet development is obviously very important in this time when Internet is used.. More and more in every part of everyday life.
I think that C will continue to be an important language, especially for ISV's and for system development. On the other hand, I believe that .NET will be very important platform soon. .NET has the potential to be the main programming platform for the FUTURE, But it is it.............
[NENAD]: Yes, the world has also changed. The development of new applications that connect such a network service is already floating. I think those new programming languages (such as Java, C #, and VB.NET) are developed for the following two major issues - simplified software development processes and provide better support for Internet applications. . Simplifying the development process of software makes more developers to write more and better applications and reduce the time required to complete the development project. Supporting the development of the Internet, there is no doubt that it is a very important thing for this internet to get deeper into our daily lives. I think C will continue to play a role as an important programming language, especially for those independent software developers and system-level development. On the other hand, I believe that .NET will become another very important development platform in soon. For future, .NET has the potential to become the mainstream programming platform, but we must recognize that such a transition phase must last for a while.
[C View]: There a lots of beginners in our readers, after they learn (standard) C , they want to seek a path to master enought Microsoft technologies to be practical and proficient programmers Could you recommend such a path Should they learn.? WIN32 API PROGRAMMING? IS WORTHY OF STUDYING MFC? IS WTL / ATL / STL A RELIABLE SOLUTION? Or Goto C # Directly? Many Many People Will Thank You if you give the name for the name.
[C View]: There are many initiators in our readers. After they learn (standard) C , they hope to find a road, master enough Microsoft technology to make themselves experience, skilled procedures member. Can you tell us about such a road? Do we have to learn Win32 API programming? Is it worth learning about whether the MFC is? WTL / ATL / STL is a reliable solution? Or should we directly learn C #? If you can give us some suggestions, I believe there are many people who will be grateful for this.
[NENAD]: I Think That Depends on Their Plans and Ambitions. The More of Those Things you do people who see their future in the Internet development can go directly to C # or VB.NET, and study .NET platform. Those who would like to have more knowledge of the Windows platform and services it provides should certainly learn more about Win32 API and libraries That Support Windows Programming. [Nenad]: I think this depends primarily on their plan and ambition. The more you do, you will take advantage of you in a long time. But you have to pay attention to the balance between the actual problem. I suggest that those who are determined to do only Internet-related development can learn C # or VB.NET directly, and learn the .NET platform. Those who know more about the Windows platform and the services it provide must, of course, you must need more knowledge about Win32 API and those who support Windows programming.
[C View]: Soon After I Began to Learn WTL, A Warm-Hearted Man Posted Me A Email. He Wrote: "You Won't be a good wtl programmer if not a good atl programmer, you won't be a good ATL programmer if not a COM programmer. and once you decide to learn COM, you are beginning your travel to hell. "Is COM so difficult to learn? How to study WTL? We must learn API, COM, ATL and WTL in sequence, Do We? and what about com, Will It Remain To Be The Core Technology of Microsoft, or Just Be Substitude DIS?
[C View]: Shortly after I started to learn WTL, there is a enthusiastic person to send me an email. He wrote: "If you are not a good ATL programmer, you can't be a good WTL programmer; if you don't com, you can't be a good ATL programmer; but once You decided to start learning COM, you have taken the first step to step toward hell. "COM is really so difficult? How should we learn WTL? Should we learn from this order, api-> com-> ATL-> wtl? Also, how will COM be becoming? Is he still able to maintain Microsoft's core technology, or replaced it with .NET and then disappear?
[Nenad]: I do not think it is necessary to master COM to use and understand WTL Win32 UI knowledge is more important than COM to understand WTL But it is true that knowledge of ATL is required, and ATL mainly supports COM... SO, COM KNOWEDGE IS Desirable, But Not Required.i Don't Think That Com Is Hell, But It Sure Require A Lot To Learn To Be An Expert. Keep In Mind That Many People Don't Have To Be COM Experts To Use COM, or To Use WTL. Just Undering Basic Principles of Com Is Enough To Use IT, And The People CAN Learn More When Needed.
[NENAD]: I don't think it is necessary to use and understand WTL, you must master COM. Compared to COM, the knowledge of Win32 UI is more important for understanding WTL. But there is no doubt that the relevant knowledge of ATL is essential. Since the primary task of ATL is to support COM, there is a knowledge of COM, but it is not necessary.
I don't think com is a nightmare, but there is no doubt that I want to be a COM expert. It is too much to learn something. But remember a thing, many people who use COM or WTL are not all COM experts. To use them, people need to understand that some COM's basic principles are enough, and other related knowledge can learn again when needed.
[C View]: What do you think about Generic Programming Is it a whole different paradigm from OOP, or just OOP's supplemental facility Can we combine GP and OOP In the hard work of design and implement WTL, you must had got an??? Insight About The Relationship Between Oop and GP, What's IT?
[C View]: How do you look at the generic programming? Is it a supplement to OOP, or is it completely different from OOP? Can we jointly use GP and OOP? I think, in the hard work of the WTL, the relationship between OOP and GP, you must have your own views, can you tell us?
[Nenad]: Generic Programming and OOP are very different, mostly because Generic Programming does not explicitly express relationships between design elements They can, however, be used together very efficiently..
WTL uses a combination of Generic Programming and OOP design. Templates are mostly used to implement traditional OOP classes. I'd like to point out that WTL does not use any "pure" design, and it does not strictly follow any design guidelines OR Styles. I do Think, Thought, That WTL Does Use ONE Of The Main Strengths of The C Language - IT Usess Appropriate Paradigm That Is The MOT Suitable for a Particular Problem. [Nenad]: GP and OOP are very different, this is mainly Since GP is never explicitly expressing the association between design elements. However, they can also be combined very efficiently.
A GP along with OOP is used in WTL. I use a large number of templates to make the classes in the traditional OOP. I am happy to point out that WTL does not use a "pure" design, and it has not followed any design guidelines or design specifications. However, I still think that WTL uses the most important essence in the C language - uses a suitable model that best suits it for a particular problem.
[C View]:.. Recently, the famous C pioneer Stanley Lippman joined Microsoft and became a member of Visual C NET group How do you think about this What message do you think your company like to pass to public Does this mean Microsoft?? WANT to MAKE VC.NET A FULL-STANDARDIZED C Compiler and Hold C As Your Core System Language?
[C View]: Recently, the famous C veteran master Stanley Lippman has joined Microsoft and became one of its VC.NET development groups. How do you think about this? What kind of information do you think Microsoft tries to spread to the public? Is this also meant that Microsoft wants VC.NET to become a fully standardized C compiler and continue to keep C core system language status?
[Nenad]:.. I think that shows that Microsoft is committed to advance the C compiler and language, and ready to get the best people to help I am sure that VC NET will continue to be powerful tool for developing applications, and that it . will also include additional capabilities for the .NET development Compliance with the C Standard is an ongoing work, and we will see further improvements there, too [Nenad]: I think this shows Microsoft to promote the C compiler and language continue to develop The determination and found the best candidates to get help. I am sure that VC.NET will continue to be a powerful tool for developing applications, and it will also contain .NET development capabilities. At present, we are working on compatible with C standards, soon we will see results.
[C View]: I'm Learning WTL And ATL, Since You Are The Author Of WTL AND A MEMBER OF ATL Group, Can you give me some advice?
[C View]: I am learning WTL and ATL now, since you are the author of the WTL, and it is a member of the ATL development team, can you give me some suggestions?
[Nenad]: There are several areas of programming that are very important for WTL and ATL:. Knowledge of the C language in general, understanding of templates, COM for ATL, and Windows UI programming for WTL Solid knowledge in these areas is very beneficial For WTL and ATL Developers, And It Also Helps to Undriestand The Source Code for Both Libraries.
I would also like to encourage everybody to write programs. That is the best way to learn how to use any library, or a programming language or operating system. Writing programs often brings problems that must be solved that are not addressed in books. Reading about Something is very useful to start learning, Writing programs is the best next step.
[NENAD]: For WTL and ATL, there are several fields of programming are very important: generally C language knowledge, understand templates, COM (for ATL), and Windows UI programming (for WTL ). There is a solid foundation in these areas that have a great advantage for WTL and ATL developers, while understanding these two source code can also play a help. I am also very happy to encourage you to write more procedures. This is also the best way to learn how to use a library, or a programming language, or an operating system. There is often no mention of the issues that are not mentioned in the process of writing, but must be resolved. Reading something is very useful while starting learning, and writing procedures is the best way to develop in depth.
[C View]: They say we are in the gate of Post-PC times, it will be a embedded world, and there will be embedded smart device everywhere, and the embedded industry will build a far large market compare to PC's Do you. BELIEVE IT? Do YOU THINK WTL AND OTHER C TEMPLATE LIBRARIES ARE AVAILALABLE AND APRIATE for EMBEDDED DEVELOPMENT? Are The Available for Internet development?
[C View]: Some people say that we are now in the door of the PC era, will be an embedded system world, embedded smart devices will be omnipotent, and compare the PC, the industrial industry of embedded systems will be A bigger market. Do you believe these? Do you think WTL and some of the other C template libraries apply to embedded development? Is they suitable for Internet development?
[Nenad]: Yes, I think that large number of various devices that we use everyday will become small, specialized computers That does not mean that the number and importance of PCs will go down, just that there are many other devices that will. Be enhanced. Those New Devices Will Provide a Great Opportunity for Software Developers, Because The Will All Have Software and Somebody Has To Write IT.
Many of the C libraries are quite appropriate for embedded development, and WTL would also be in cases where Windows based user interface is important (for example, Pocket PC platform). Great flexibility and small footprint are always very important features for embedded development, so Template Libraries Are In the Very Good Position There. [Nenad]: Yes, I think most of the various devices used in the various devices used will evolve into some small and specialized computers. But this does not mean that the number of PCs and the importance will be reduced, but it means that there are many other devices need to be enhanced so that we can program and connect them. Since software support must be required, the software needs someone to write, these new devices will bring great opportunities to software developers.
There are many C libraries that can be used for embedded systems, and WTL will also develop in development (for example, development above the Pocket PC Platform) in the development of the Windows user interface. For embedded development, good elasticity, tiny memory consumption will always be very important, and the template library takes a very good position in this regard.
[C View]: in The Past 7 Years Or More, Com IS Microsoft's Core Technology. And We Now Can See in The next decade, The core role may be .net. My Question IS, What's WRONG WITH COM? WHERE WILL COM BE? WILL IT Disappear? Will it be subsstituted by Something Else? What's The Relationship Between COM? IS .NET BASEDOM NOW? IS .NET BASEDOM NOW?
[C View]: In the past 7 years (or even longer), COM is core technology in Microsoft. Now we can foresee it, this core will become .NET in the next ten years. My question is, what is COM? What COM will go? Will it disappear, or will it be replaced by some other technologies? What is the relationship between COM and .NET? Is it based on COM based on COM? Is it still worth learning from COM now?
[Nenad]: Maybe you should not ask what is wrong with COM, but just think of .NET as the evolution of COM .NET extends what was started with COM- creating reusable binary components - and brings additional important features:. Rich metadata , great run-time, built-in security, versioning, etc. All of these new features are important for development today, and it is really great that .NET has extensive support for them. Interoperability between .NET and COM is also provided, so that the previously developed COM components can still be used in the .NET environment.I still think that it is a good idea to learn COM - it is a great first step even for people who want to learn .NET, and it also provides Better Understanding of The Design and Implementation of .Net Itself.
[NENAD]: Maybe you should not ask what COM has something wrong, but should regard .net to see the evolution of COM. .NET extends COM initial purposes - create reusable binary components - add a lot of important features to it: rich metadata, a great runtime, built-in security mechanism, version mechanism, etc. For today's software development, all of these new features are very important, so .NET can support them extensively, a great product. Microsoft also provides the ability to interoperate between .NET and COM, which allows the COM components previously developed to be used in the .NET environment.
I still think that learning COM is a good idea - it is even a very good beginning for people who wish to learn .NET, learning COM also helps us understand the design and implementation of .NET itself. .
[C View]: I know you must be a C fan Now the language is facing lots of challenges To counterattack, Dr. Stroustrup suggest to develop many useful libraries, and teach the programmers to use C as a high level language Now... there are several wonderful modern C libraries. Aside of ATL, WTL and STL, there are still Boost library, MTL, ACE / TAO, DTL, etc. It seems the C community is preparing a movement. Do you think the movement will success? Why? What are your colleagues' (in Microsoft VC.NET Group) Attitude Towards Such A Movement? [C View]: I guess you are definitely a C enthusiast. This language is now facing a lot of challenges. As a counterattack, Dr. Stroustrup proposes many useful libraries and guides C programmers to use C as a high-level language. Now we can get several excellent modern C libraries, remove ATL, WTL, and STL, as well as Boost libraries, MTL, ACE / TAO, DTL, etc. Everything shows that the C community is brewing a change. Do you think this change can be successful? why? What is your colleagues in the VC.NET development group in your Microsoft?
[Nenad]: C is a great language and its importance remains high, even with the new challenges Libraries are an excellent addition to the language itself, as they provide very useful reusable code for developers The existence of many great C libraries shows the.. size and strength of the C community. I think that is already a success, and that it will continue. You can be sure that the VC . NET group is aware of the existing libraries, and I expect them to continue to enhance the support for Them.
[NENAD]: C is a great language, even if it encounters new challenges, it will still be very important. The library is excellent for language itself, and they provide developers with some very useful reusable code. There are so many, can't afford C libraries, this thing itself demonstrates the huge and powerful of C communities. I think this change has been successful and will continue. You can rest assured that the VC.NET development group will not be seek to these existing bulbs, I expect that they will continue to strengthen their support for these libraries. [C View]:. The last question Since lots of people do not acquaint themselves with WTL, now we have a chance for you, the father of WTL, to introduce WTL in a short speech here What would you like to speak.?
[C View]: The last problem. Since many people don't understand WTL, as the father of WTL, you have a chance to make a speech here, please brief WTL.
[Nenad]: WTL is a template based library for user interface development It extends ATL to provide classes for implementing user interface for applications, components, and controls It provides classes for various user interface elements:.. Top-level windows, MDI, standard And Common Controls, Common Dialogs, Property Sheets and Pages, GDI Objects, Ui Updating, Scrolble Windows, Splitter Windows, Command Bars, etc.
WTL is implemented using the same template architecture as ATL, so it is a natural fit for ATL developers. It also does not alter or hide Windows specific constructs, thus allowing Windows programmers to use WTL without surprises. The important design goal of WTL was to avoid inter-dependencies -. classes themselves do not reference other WTL classes that means that your program will contain just the code that you actually use, and nothing else Coupled with the use of templates, this allows creation of very small programs without run. -time dependencies.
WTL delivers the object oriented way to program for the Windows user interface, while keeping the code size small It also provides a great foundation that developers can extend with their own classes.And finally -. WTL was written with a hope that developers will enjoy using It. i hope you will use it and enjoy it, too.
WTL is a template-based, designed to develop user interface. It expands ATL and provides some categories to implement user interfaces, components, and controls. It provides a variety of users to support a wide variety of user interface elements: top-level windows, MDI, standard controls, and general controls, universal dialogs, property tables, and property pages, GDI objects, UI updates, rollable windows. , Split window, command bar, etc. ...
The WTL implementation uses the same template architecture as ATL, so it is very natural for ATL developers. At the same time, it has not changed or hides those Windows-related structures, and those Windows programmers will not be very surprised when using WTL. One of the main design principles of WTL is to avoid unnecessary internal dependencies when there is no reference to other WTL classes. This means that our program will only contain the code we actually use, in addition to this, no other things. With the use of the template, the result obtained is some very small, not relying on the runtime program.
WTL focuses on object-oriented methods to write Windows user interface programs while maintaining the size of the code very small. At the same time, it also provides developers with a good foundation that writes new classes to extend WTL.
Finally, I hope that developers can use it in the development of WTL. I also hope that you can use it and like it.