Case Insensitive Strings

Recently I’ve been asked how you can make method find of std::string case insensitive. An obvious solution is to transform the strings to lower case, for instance, and perform the search in lower case. The solution has some inconvenients and a clean and nice solution is defining custom traits that ignore the case. The solution I’m … Read more

Finding an Item in a CTreeCtrl

If you want to find an item in a tree control (CTreeCtrl from MFC) by its name you need a recursive function. Below is a function that does that. How does it work: you pass the text of the item to search, the tree reference and an item in the tree. The function will search … Read more

UNICODE support in the C++ Standard

The Oxford meeting of the ISO C++ standards committee between 15-20 April resulted in new features beeing into the draft paper of the C++0x standard. One of the features refer to Unicode support: a new header, called <cuchar>, was introduced. This header makes available new built-in types char16_t and char32_t, as well as new prefixes … Read more

Working with the Registry in VC++

Working correctly with the Windows Registry might prove a little difficult, especially for beginners. One thing one should care about for example is using the correct access rights (not just the default ones) when creating a registry key. To ease the burden of directly using the Win32 registry API, I decided to wrap them inside … Read more

MFC in Orcas: support for Vista’s command button

MFC in Orcas comes with several important changes, such as support for Vista specific command button and split button. I have put together a small demo application displaying a command button with the tex Say “Hello Vista” and the note “Click on this button to show a “Hello Vista” message!”. The command button is still … Read more

Prefer std::string to char*

This is the title of my last article published on CodeGuru, http://www.codeguru.com/cpp/cpp/string/general/article.php/c13267/. Being active on forums like CodeGuru or MSDN I’ve seen so many times people using char* in places where a std::string would have made their life much easier. This is an error usually made by people coming from a C background, or those … Read more