Wednesday, September 29, 2021

CSplitterWnd class research

runtime_class, spliter, splitter#5#

    Splitter

  1. Splitter Window Tutorial
  2. Implementing CSplitterWnd controls in MFC SDI applications.

  3. Splitter Views with Templates
  4. How to use templates for splitter views.

  5. Another Splitter Control for Dialog
  6. A very simple splitter control for dialogs.

  7. Splitter Control for Dialog
  8. A splitter control for dialog can auto change the linked window's position.

  9. EasySize - Dialog Resizing in No Time!
  10. An easy way to position controls in resizable dialogs or property pages using just a few macros.

  11. A Flat Splitter Window
  12. A small class that gives splitter-windows a flat look

  13. Simple Splitter with CWnd-derived Panes
  14. A splitter window class, which combines the basic CSplitterWnd functionality and professional look with the ability to use CWnd-derived panes.

  15. Toolbar in splitter window pane
  16. How to add a docking toolbar to a splitter window pane

  17. A Visual Framework (Views, Tabs and Splitters)
  18. Creating SDI/MDI applications with splitter and tab windows.

  19. CSSplitter: A Splitter with the Ability to Save/Restore its Position
  20. A splitter control derived from CStatic for dialog controls, and that can be used not only within the restricted splitter pane..

  21. How to Prevent Resizing of Views in a Splitter Window
  22. Disabling mouse input to a splitter window.

  23. Toolbar Within Splitter Windows
  24. A simple method that allows a toolbar to be docked inside a splitter pane..

  25. Implementing Rulers Inside of Splitter Panes
  26. Using fixed panes to add rulers to your view.

  27. Implementing Rulers Inside of Splitter Panes
  28. Using fixed panes to add rulers to your view.

  29. Implementing Rulers inside of Splitter Panes - 2
  30. Using fixed panes to add rulers to your view.

  31. Unlimited Number of Switchable Views within a Splitter Window
  32. Allows someone to have an unlimited number of views associated with a splitter pane.

    Derived class

  33. Reusable base class for SplitterWnd
  34. A class derived from CSplitterWnd which makes splitting and switching of views simple..

  35. CSizingControlBar - A Resizable Control Bar
  36. DevStudio-like docking window.

  37. Sizing TabControlBar
  38. Creates a dockable and resizable control bar.

  39. CSettingsDialog, a Dialog Customizing Your Project Settings and More
  40. A Netscape Preferences-Like Dialog.

  41. CSplitterWndEx: Indicating Splitter Window Focus, and Automatic Splitting
  42. A tutorial that shows how to automatically split a view, and also how to indicate which view has the focus.

  43. CSplitterWndEx: Indicating Splitter Window Focus, and Automatic Splitting
  44. A tutorial that shows how to automatically split a view, and also how to indicate which view has the focus

  45. Unlimited Number of Switchable Views within a Splitter Window
  46. Allows someone to have an unlimited number of views associated with a splitter pane.

  47. Tab Controls And Splitters - Adding Some Dockable And Floating Sugar
  48. Another implementation of dockable, floating, tabbing and splitting environment..

  49. A Static Splitter with the Ability to Hide/Show Multiple Columns/Rows
  50. A static splitter with the ability to hide/show multiple columns/rows.

  51. ZSplitter: Adding Automatic Splitting for Dialog Controls
  52. A set of classes that provide automatic adding necessary splitters in your dialogs.

    #5 page

  53. CUsefulSplitterWnd (An Extension to CSplitterWnd)
  54. An extension to MFCs CSplitterWnd that provides splitter locking and dynamic view replacement.

  55. SDI with split window
  56. Create an SDI with split window without all the extra garbage of the Doc/View architecture.

  57. SplitterCtrl - A control for the partition of some window by several parts
  58. In this article, you will learn about a control that is necessary for the partition of the dialog, main or child window of your program by several parts..

  59. MFC/C++ Helper Class for Window Resizing
  60. Gives you total control when it comes to resizing windows

  61. The ALXGrid Control Library.
  62. The ALXGrid Control Library is a set of classes for management of data as a table.

  63. A Doc/View Dialog, supports Dynamic Split
  64. You can arbitrarily add DOC/View, and all the view can be resized.

  65. MousePos
  66. A mouse tracking window that displaying the current mouse position or current local time..

  67. An Icon Explorer
  68. This is a paragraph.

  69. Switching to other views in a doc-view application
  70. This is a paragraph.

Sunday, September 26, 2021

resource & icon extractor

extract resource from exe

  1. Redwood Resource Extractor: View and extract resources from EXE files
  2. This is a paragraph.

  3. ResourcesExtract v1.18 - Extract resource files (bitmaps, icons, html files, and more) from dll files Copyright (c) 2008 - 2014 Nir Sofer
  4. a freeware resource compiler & decompiler for Windows® applications.

  5. Resource HackerTM
  6. This is a paragraph.

  7. How to extract resources from EXE file
  8. Resource Tuner enabes you to export and save to disk multiple resources from a single EXE or DLL file..

  9. How to Extract an Icon from a Windows EXE File
  10. This is a paragraph.

  11. How To Extract Or Save The Icon From An EXE File
  12. The file format typically used for icons is ICO. What makes it interesting is that it isn’t a typical image format, but instead embeds various image sizes and types into the file, along with different color depths..

  13. This is a paragraph.

  14. This is a paragraph.

  15. This is a paragraph.

  16. This is a paragraph.

  17. This is a paragraph.

  18. This is a paragraph.

  19. This is a paragraph.

  20. This is a paragraph.

  21. This is a paragraph.

  22. This is a paragraph.

  23. This is a paragraph.

  24. This is a paragraph.

Tuesday, September 21, 2021

RUNTIME_CLASS macro in MFC -- Good technical notes

keyword:visual C++ runtime_class macro

  1. Accessing Run-Time Class Information
  2. This article explains how to access information about the class of an object at run time...

    Note::MFC does not use the Run-Time Type Information (RTTI) support introduced in Visual C++ 4.0.

    If you have derived your class from CObject and used the DECLARE_DYNAMIC and IMPLEMENT_DYNAMIC, the DECLARE_DYNCREATE and IMPLEMENT_DYNCREATE, or the DECLARE_SERIAL and IMPLEMENT_SERIAL macros explained in the article Deriving a Class from CObject, the CObject class has the ability to determine the exact class of an object at run time.

    This ability is most useful when extra type checking of function arguments is needed and when you must write special-purpose code based on the class of an object. However, this practice is not usually recommended because it duplicates the functionality of virtual functions.

    The CObject member function IsKindOf can be used to determine if a particular object belongs to a specified class or if it is derived from a specific class. The argument to IsKindOf is a CRuntimeClass object, which you can get using the RUNTIME_CLASS macro with the name of the class.

  3. Deriving a Class from CObject
  4. This article describes the minimum steps necessary to derive a class from CObject. Other CObject class articles describe the steps needed to take advantage of specific CObject features, such as serialization and diagnostic debugging support..

  5. Specifying Levels of Functionality
  6. This article describes how to add the following levels of functionality to your CObject-derived class:

    1. Run-time class information
    2. Dynamic creation support
    3. Serialization support
    For a general description of CObject functionality, see the article Deriving a Class from CObject..

  7. Dynamic Object Creation
  8. This is a paragraph.

    Technical Notes

  9. TN017: Destroying Window Objects
  10. This note describes the use of the CWnd::PostNcDestroy method. Use this method if you want to do customized allocation of CWnd-derived objects. This note also explains why you should use CWnd::DestroyWindow to destroy a C++ Windows object instead of the delete operator.

    If you follow the guidelines in this topic, you will have few cleanup problems. These problems can result from issues such as forgetting to delete/free C++ memory, forgetting to free system resources like HWNDs, or freeing objects too many times.

  11. TN021: Command and Message Routing
  12. This note describes the command routing and dispatch architecture as well as advanced topics in general window message routing.

    Please refer to Visual C++ for general details on the architectures described here, especially the distinction between Windows messages, control notifications, and commands. This note assumes you are very familiar with the issues described in the printed documentation and only addresses very advanced topics..

  13. TN023: Standard MFC Resources
  14. This note describes the standard resources provided with and needed by the MFC library.

    Standard Resources MFC offers two categories of predefined resources that you can use in your application: clip-art resources and standard framework resources.

    Clip-art resources are additional resources that the framework does not depend on, but which you might want to add to your application's user interface. The following clip-art resources are contained in the MFC General sample CLIPART:.

  15. TN024: MFC-Defined Messages and Resources
  16. This note describes the internal Windows messages and resource formats used by MFC. This information explains the implementation of the framework, and will assist you in debugging your application. For the adventurous, even though all this information is officially unsupported, you may use some of this information for advanced implementations..

  17. TN025: Document, View, and Frame Creation
  18. This note describes the creation and ownership issues for WinApps, DocTemplates, Documents, Frames and Views..

  19. TN026: DDX and DDV Routines
  20. This note describes the dialog data exchange (DDX) and dialog data validation (DDV) architecture. It also describes how you write a DDX_ or DDV_ procedure and how you can extend ClassWizard to use your routines.

  21. TN028: Context-Sensitive Help Support
  22. This note describes the rules for assigning Help contexts IDs and other help issues in MFC. Context-sensitive help support requires the help compiler that is available in Visual C++..

  23. TN029: Splitter Windows
  24. This note describes the MFC CSplitterWnd Class, which provides window splits and manages the resizing of other pane windows.

  25. TN030: Customizing Printing and Print Preview
  26. This note describes the process of customizing printing and print preview and describes the purposes of the callback routines used in CView and the callback routines and member functions of CPreviewView..

  27. TN031: Control Bars
  28. This note describes the control bar classes in MFC: the general CControlBar, CStatusBar, CToolBar, CDialogBar, and CDockBar..

  29. TN035: Using Multiple Resource Files and Header Files with Visual C++
  30. This note describes how the Visual C++ resource editor supports multiple resource files and header files shared in a single project or shared across multiple projects and how you can take advantage of that support. This note answers these questions:

    1. When might you want to split a project into multiple resource files and/or header files, and how you do it
    2. How do you share a common header .H file between two .RC files
    3. How do you divide project resources into multiple .RC files
    4. How do you (and the tools) manage build dependencies between .RC, .CPP, and .H files
    You should be aware that if you add an additional resource file to your project, ClassWizard will not recognize the resources in the added file.

  31. TN070: MFC Window Class Names
  32. MFC windows use a dynamically created class name that reflects the features of the window. MFC generates class names dynamically for frame windows, views, and popup windows produced by the application. Dialog boxes and controls produced by an MFC application have the Windows-supplied name for the class of window in question.

    You can replace the dynamically provided class name by registering your own window class and using it in an override of PreCreateWindow. Their MFC-supplied class names fit one of the two following forms:.

Saturday, September 18, 2021

free store in C++

  1. GotW Archive (Most Recent First)
  2. Good Posts.

  3. C++, Free-Store vs Heap
  4. Dynamic allocations with new/delete are said to take place on the free-store, while malloc/free operations use the heap.

    I'd like to know if there is an actual difference, in practice. Do compilers make a distinction between the two terms? (Free store and Heap, not new/malloc).

  5. Memory Management - Part I
  6. This GotW covers basics about C++'s main distinct memory stores. The following problem attacks some deeper memory-management questions in more detail. .

  7. Memory Management - Part II
  8. This is a paragraph.

  9. Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions
  10. This is a paragraph.

  11. Exceptional C++ BOOK PDF version
  12. This is a paragraph.

  13. This is a paragraph.

  14. This is a paragraph.

  15. This is a paragraph.

  16. This is a paragraph.

  17. This is a paragraph.

  18. This is a paragraph.

  19. This is a paragraph.

  20. This is a paragraph.

  21. This is a paragraph.

  22. This is a paragraph.

  23. This is a paragraph.

  24. This is a paragraph.

new operator

new operator

  1. This is a paragraph.

  2. This is a paragraph.

  3. This is a paragraph.

  4. This is a paragraph.

  5. This is a paragraph.

  6. This is a paragraph.

  7. This is a paragraph.

  8. This is a paragraph.

  9. This is a paragraph.

  10. This is a paragraph.

  11. This is a paragraph.

  12. This is a paragraph.

  13. This is a paragraph.

  14. This is a paragraph.

  15. This is a paragraph.

  16. This is a paragraph.

  17. This is a paragraph.

  18. This is a paragraph.

delete operator

delete operator

  1. This is a paragraph.

  2. This is a paragraph.

  3. This is a paragraph.

  4. This is a paragraph.

  5. This is a paragraph.

  6. This is a paragraph.

  7. This is a paragraph.

  8. This is a paragraph.

  9. This is a paragraph.

  10. This is a paragraph.

  11. This is a paragraph.

  12. This is a paragraph.

  13. This is a paragraph.

  14. This is a paragraph.

  15. This is a paragraph.

  16. This is a paragraph.

  17. This is a paragraph.

  18. This is a paragraph.

destructor in C++

destructor in C++

  1. Destructors in C++
  2. What is a destructor? Destructor is an instance member function which is invoked automatically whenever an object is going to be destroyed. Meaning, a destructor is the last function that is going to be called before an object is destroyed.

    The thing is to be noted here, if the object is created by using new or the constructor uses new to allocate memory which resides in the heap memory or the free store, the destructor should use delete to free the memory...

  3. C++ Internals | Default Constructors | Set 1
  4. This is a paragraph.

  5. Private Destructor
  6. This is a paragraph.

  7. Virtual Destructor
  8. This is a paragraph.

  9. Pure virtual destructor in C++
  10. This is a paragraph.

  11. Calling virtual methods in constructor/destructor in C++
  12. This is a paragraph.

  13. Order of Constructor/ Destructor Call in C++
  14. This is a paragraph.

  15. This is a paragraph.

  16. This is a paragraph.

  17. This is a paragraph.

  18. This is a paragraph.

  19. This is a paragraph.

  20. This is a paragraph.

  21. This is a paragraph.

  22. This is a paragraph.

  23. This is a paragraph.

  24. This is a paragraph.

  25. This is a paragraph.

Thursday, September 16, 2021

stock real time data

They get datas from stock data systems (NASDAQ, MYSE).

For free you can get real time quotes directly from http://www.nasdaq.com/quotes/real-time.aspx

Also good one is yahoo finance (maybe better):

Here is an excel file allow you to download any stock symbol data just with one click. It is for free:

https://sourceforge.net/projects/kuzelamacro/

  1. Where do sites such as Google Finance get real-time financial data? How do I get access to the data, and how much does it cost?
  2. This is a paragraph.

  3. Live (Delayed) Stock Prices API
  4. We provide live (delayed) stock prices API for all subscribers of ‘All-World’, ‘All World Extended’, and ‘ALL-IN-ONE’ plans. With this API endpoint, you are able to get delayed (15-20 minutes) information about almost all stocks on the market. .

  5. Pricing plans
  6. No long-term obligations. The minimum period is one month only. You get an API key with instructions in a few seconds right after subscription. The price is fixed forever. We never change prices for subscriptions...

  7. REAL TIME quotes:
  8. here is the link for GE stock data:(you can also put the tick symbol into search bxo too)

    https://www.nasdaq.com/market-activity/stocks/ge/real-time

  9. This is a paragraph.

  10. This is a paragraph.

  11. This is a paragraph.

  12. This is a paragraph.

  13. This is a paragraph.

  14. This is a paragraph.

  15. This is a paragraph.

  16. This is a paragraph.

  17. This is a paragraph.

  18. This is a paragraph.

  19. This is a paragraph.

  20. This is a paragraph.

  21. This is a paragraph.

  22. This is a paragraph.

Wednesday, September 15, 2021

ICON design tools

ICON design tools

  1. The 5 Best Free Icon Maker Software
  2. An icon is a symbol that represents the identity of any product. It is also considered as a logo or a trademark for uniquely distinguishing a product amongst many others. Having said that, we do not need to go into the depths of understanding the importance of icons because we know that everything that we use these days, whether it is a website, a cell phone, a breakfast cereal, and even the places that we visit such as restaurants, hospitals, hotels, etc. have distinct icons or logos through which we recognize them instantly...

  3. greenfish icon editor pro 3.6
  4. Greenfish Icon Editor Pro (GFIE Pro) is a powerful open source image editor, especially suitable for creating icons, cursors, animations and icon libraries.

    1. Open source (GPL v3), yet has a clean and intuitive user interface
    2. Professional features: layers and high-quality filters
    3. Supports editing animated cursors and managing icon libraries
    4. Not just for icons: GFIE is also a general purpose image editor
    5. Has a portable version - about 24 MB unzipped, just unpack it to your USB drive and use it anywhere.

Saturday, September 11, 2021

SQLite database & other flat file database

flat file database

  1. leveldb
  2. LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values..

    About LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.

  3. What Is SQLite?
  4. SQLite is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine. SQLite is the most used database engine in the world. SQLite is built into all mobile phones and most computers and comes bundled inside countless other applications that people use every day. More Information...

    The SQLite file format is stable, cross-platform, and backwards compatible and the developers pledge to keep it that way through the year 2050. SQLite database files are commonly used as containers to transfer rich content between systems [1] [2] [3] and as a long-term archival format for data [4]. There are over 1 trillion (1e12) SQLite databases in active use [5]..

  5. SQLite
  6. SQLite access C++ classes.

  7. Alternative Timestamp Class with no MFC
  8. This article describes a timestamp class that can be used as an alternative to the standard C date time functions..

  9. Starting with SQLite in C++
  10. In this article, I share my experience creating and compiling a simple C++ program using SQLite to store data.

    Tutorials

  11. SQLite Tutorial
  12. This SQLite tutorial teaches you everything you need to know to start using SQLite effectively. In this tutorial, you will learn SQLite step by step through extensive hands-on practices.

    This SQLite tutorial is designed for developers who want to use SQLite as the back-end database or to use SQLite to manage structured data in applications including desktop, web, and mobile apps.

    SQLite is an open-source, zero-configuration, self-contained, stand-alone, transaction relational database engine designed to be embedded into an application..

  13. How To Download & Install SQLite Tools
  14. Summary: in this tutorial, you will learn step by step on how to download and use the SQLite tools to your computer.

  15. SQLite Select
  16. Summary: in this tutorial, you will learn how to use SQLite SELECT statement to query data from a single table..

  17. SQLite - ALIAS Syntax
  18. You can rename a table or a column temporarily by giving another name, which is known as ALIAS. The use of table aliases means to rename a table in a particular SQLite statement. Renaming is a temporary change and the actual table name does not change in the database.

    The column aliases are used to rename a table's columns for the purpose of a particular SQLite query.

  19. Using DB Browser for SQLite
  20. very quick steps: configurations are great. it is customized to my need: simple and easy to use. very familar to Oracle Navigator..

    Instructions: Towards the bottom there is a section dealing with Field colors. You will see three bars below the word Text, to the right there are in fact three invisible bars for the Background. Click in the area for the Background color for NULL. A colour selector window will open, select Red. The bar will turn Red. This is now the default background cell colour that will be used to display NULL values in you tables. We will discuss the meaning of NULL values in a table in a later episode.

    You can now close the preference window by clicking OK.

  21. Creating New Columns
  22. Creating new columns In addition to selecting existing columns from a table, you can also create new columns in the query output based on the existing columns. These new columns only exist in the output. The table used in the query is not changed in any way..

  23. Install the SQLite Shell program
  24. The SQLite shell can be downloaded from here. There are versions available for Linux, Mac and Windows. As I have a Windows machine I will download the Windows version. You should download the version appropriate to your machine. Note that MacOS already have sqlite installed so you can skip this section..

    You do not need to specify any parameters, connection to a databse can be done from within the shell.

  25. The SQLite command line
  26. Running SQL code using the SQLite shell Before you can run the SQLite3 shell program you must have installed it. Instructions for doing this are included in the set up procedures.

    I will assume that you have added the location of the program to your local PATH environment variable as this will make it easier to refer to the database file and other files we may want to use...

  27. Creating tables and views
  28. Creating tables and views.

  29. Missing Data
  30. How does the database represents missing data At the beginning of this lesson we noted that all database systems have the concept of a NULL value; Something which is missing and nothing is known about it.

  31. Creating New Columns
  32. Creating new columns In addition to selecting existing columns from a table, you can also create new columns in the query output based on the existing columns. These new columns only exist in the output. The table used in the query is not changed in any way..

  33. SQLite Browser -- Video tutorials
  34. This is a paragraph.

CURSOR software

CURSOR software

  1. CursorFX software
  2. write your cursor.

  3. This is a paragraph.

  4. This is a paragraph.

  5. This is a paragraph.

  6. This is a paragraph.

  7. This is a paragraph.

  8. This is a paragraph.

  9. This is a paragraph.

  10. This is a paragraph.

  11. This is a paragraph.

  12. This is a paragraph.

  13. This is a paragraph.

  14. This is a paragraph.

  15. This is a paragraph.

  16. This is a paragraph.

  17. This is a paragraph.

  18. This is a paragraph.

  19. This is a paragraph.

MFC FTP classes

MFC FTP classes

  1. CFtpConnection Class
  2. Manages your FTP connection to an Internet server and allows direct manipulation of directories and files on that server..

  3. CFtpFileFind Class
  4. Aids in Internet file searches of FTP servers..

  5. CHttpFile Class
  6. Provides the functionality to request and read files on an HTTP server..

  7. FTP Client Engine for C/C++
  8. The FTP Client Engine for C/C++ (FCE4C) is a library of functions providing direct and simple control of the FTP protocol and can be used for both anonymous and private FTP sessions. A simple interface allows connecting to a FTP server, navigating its directory structure, listing files, sending files, deleting files, and receiving files from an application.

    The FCE4C library contains both WIN32 and WIN64 Dynamic Link Libraries (DLLs) and can be used with any Windows application capable of calling the Windows API.

    The FTP Client Engine for C/C++ supports any version of Microsoft Visual C++, Microsoft Visual Studio, .NET Framework, or most C/C++ compilers.

  9. libcurl - the multiprotocol file transfer library
  10. Thoroughly Documented! All functions in libcurl have their own detailed man pages describing their actual functionality and purpose.

    All interfaces have overview-style man pages describing the concepts that glue all the functions together: easy, multi, share and URL parsing.

    There is a libcurl tutorial.

    We have numerous commented source code examples..

  11. embeddedmz/ftpclient-cpp
  12. FTP client for C++This is a simple FTP client for C++. It wraps libcurl for FTP requests and meant to be a portable and easy-to-use API to perform FTP related operations..

  13. Steps in a Typical FTP Client Application
  14. Steps in a Typical FTP Client Application

  15. FTP Client Class
  16. A non-MFC class to encapsulate the FTP protocol..

VC++ 6 quick notes

VC++ 6 quick notes

  1. MFC WINDOWS PROGRAMMING (APP/WINDOW APPROACH)
  2. A Hierarchy of C++ classes designed to facilitate Windows programming An alternative to using Win32 API functions A Visual C++ Windows app can use either Win32 API MFC or both:.

  3. Visual C++ Programming Workshop
  4. good links of resources.

    special edition using Visual C++ 6.0

  5. MFC Macros and Globals
  6. When you're writing programs, you must use many types of data and operations again and again. Sometimes, you have to do something as simple as creating a portable integer data type. Other times, you need to do something a little more complex, such as extracting a word from a long word value or storing the position of the mouse pointer. As you might know, when you compile your program with Visual C++, many constants and variables are already defined. You can use these in your programs to save time writing code and to make your programs more portable and more readable for other programmers. In the following tables, you'll have a look at the most important of these globally available constants, macros, and variables..

  7. Windows Programming Review and a Look Inside CWnd
  8. The Microsoft Foundation Classes were written for one single purpose: to make Windows programming easier by providing classes with methods and data that handle tasks common to all Windows programs. The classes that are in MFC are designed to be useful to a Windows programmer specifically. The methods within each class perform tasks that Windows programmers often need to perform. Many of the classes have a close correspondence to structures and window classes, in the old Windows sense of the word class. Many of the methods correspond closely to API (Application Programming Interface) functions already familiar to Windows programmers, who often refer to them as the Windows SDK or as SDK functions..

    Getting a Handle on All These MFC Classes There are more than 200 MFC classes. Why so many? What do they do? How can any normal human keep track of them and know which one to use for what? Good questions. Questions that will take a large portion of this book to answer. The first half of this book presents the most commonly used MFC classes. This section looks at some of the more important base classes.

    CWnd class As already mentioned, CWnd is an extremely important class. Only classes derived from CWnd can receive messages; threads and documents can receive commands but not messages.

  9. Useful Classes
  10. Useful Classes.

  11. Messages and Commands
  12. Understanding Message Routing If there is one thing that sets Windows programming apart from other kinds of programming, it is messages. Most DOS programs, for example, relied on watching (sometimes called polling) possible sources of input like the keyboard or the mouse to await input from them. A program that wasn't polling the mouse would not react to mouse input. In contrast, everything that happens in a Windows program is mediated by messages. A message is a way for the operating system to tell an application that something has happened--for example, the user has typed, clicked, or moved the mouse, or the printer has become available. A window (and every screen element is a window) can also send a message to another window, and typically most windows react to messages by passing a slightly different message along to another window. MFC has made it much easier to deal with messages, but you must understand what is going on beneath the surface.

    Messages are all referred to by their names, though the operating system uses integers to refer to them. An enormous list of #define statements connects names to numbers and lets Windows programmers talk about WM_PAINT or WM_SIZE or whatever message they need to talk about. (The WM stands for Window Message.) An excerpt from that list is shown in Listing 3.1..

  13. Where can I find the Windows header files [closed]
  14. First you need to install Visual Studio or the Windows SDK. I'd give URLs here but they change with every new version of windows. The header files could be in

    1. C:\Program Files\Microsoft SDKs\Windows\vX.X\Include
    2. C:\Program Files (x86)\Microsoft SDKs\Windows\vX.X\Include,(where vX.X reflects the version number).

  15. Documents and Views
  16. Understanding the Document Class When you generate your source code with AppWizard, you get an application featuring all the bells and whistles of a commercial 32-bit Windows application, including a toolbar, a status bar, ToolTips, menus, and even an About dialog box. However, in spite of all those features, the application really doesn't do anything useful. In order to create an application that does more than look pretty on your desktop, you need to modify the code that AppWizard generates. This task can be easy or complex, depending on how you want your application to look and act.

    Probably the most important set of modifications are those related to the document--the information the user can save from your application and restore later--and to the view--the way that information is presented to the user. MFC's document/view architecture separates an application's data from the way the user actually views and manipulates that data. Simply, the document object is responsible for storing, loading, and saving the data, whereas the view object (which is just another type of window) enables the user to see the data onscreen and to edit that data in a way that is appropriate to the application. In this chapter, you learn the basics of how MFC's document/view architecture works..

  17. Drawing on the Screen
  18. Understanding Device Contexts Most applications need to display some type of data in their windows. You'd think that, because Windows is a device-independent operating system, creating window displays would be easier than luring a kitten with a saucer of milk. However, it's exactly Windows' device independence that places a little extra burden on a programmer's shoulders. Because you can never know in advance exactly what type of devices may be connected to a user's system, you can't make many assumptions about display capabilities. Functions that draw to the screen must do so indirectly through something called a device context (DC).

    Although device independence forces you, the programmer, to deal with data displays indirectly, it helps you by ensuring that your programs run on all popular devices. In most cases, Windows handles devices for you through the device drivers that users have installed on the system. These device drivers intercept the data that the application needs to display and then translates the data appropriately for the device on which it will appear, whether that's a screen, a printer, or some other output device.

    To understand how all this device independence works, imagine an art teacher trying to design a course of study appropriate for all types of artists. The teacher creates a course outline that stipulates the subject of a project, the suggested colors to be used, the dimensions of the finished project, and so on. What the teacher doesn't stipulate is the surface on which the project will be painted or the materials needed to paint on that surface. In other words, the teacher stipulates only general characteristics. The details of how these characteristics are applied to the finished project are left to each specific artist.

    For example, an artist using oil paints will choose canvas as his drawing surface and oil paints, in the colors suggested by the instructor, as the paint. On the other hand, an artist using watercolors will select watercolor paper and will, of course, use watercolors instead of oils for paint. Finally, the charcoal artist will select the appropriate drawing surface for charcoal and will use a single color.

  19. Persistence and File I/O
  20. Understanding Objects and Persistence One of the most important things a program must do is save users' data after that data is changed in some way. Without the capability to save edited data, the work a user performs with an application exists only as long as the application is running, vanishing the instant the user exits the application. Not a good way to get work done! In many cases, especially when using AppWizard to create an application, Visual C++ provides much of the code necessary to save and load data. However, in some cases--most notably when you create your own object types--you have to do a little extra work to keep your users' files up to date.

    When you're writing an application, you deal with a lot of different object types. Some data objects might be simple types, such as integers and characters. Other objects might be instances of classes, such as strings from the CString class or even objects created from your own custom classes. When using objects in applications that must create, save, and load documents, you need a way to save and load the state of those objects so that you can re-create them exactly as users left them at the end of the last session.

    An object's capability to save and load its state is called persistence. Almost all MFC classes are persistent because they're derived directly or indirectly from MFC's CObject class, which provides the basic functionality for saving and loading an object's state. The following section reviews how MFC makes a document object persistent.

  21. This is a paragraph.

  22. This is a paragraph.

  23. This is a paragraph.

  24. This is a paragraph.

  25. This is a paragraph.

  26. This is a paragraph.

  27. This is a paragraph.

  28. This is a paragraph.

  29. This is a paragraph.

MFC macro and some basic structs

MFC macro and some basic classes

  1. MAKEINTRESOURCEA macro (winuser.h)
  2. Converts an integer value to a resource type compatible with the resource-management functions. This macro is used in place of a string containing the name of the resource..

  3. MAKEINTRESOURCEW macro (winuser.h)
  4. Converts an integer value to a resource type compatible with the resource-management functions. This macro is used in place of a string containing the name of the resource.

  5. MDINEXTMENU structure (winuser.h)
  6. Contains information about the menu to be activated..

  7. MENUBARINFO structure (winuser.h)
  8. Contains menu bar information..

  9. MENUGETOBJECTINFO structure (winuser.h)
  10. Contains information about the menu that the mouse cursor is on..

  11. MENUINFO structure (winuser.h)
  12. Contains information about a menu..

  13. MenuItemFromPoint function (winuser.h)
  14. Determines which menu item, if any, is at the specified location..

  15. MENUITEMINFOA structure (winuser.h)
  16. Contains information about a menu item.

  17. MENUITEMTEMPLATE structure (winuser.h)
  18. Defines a menu item in a menu template..

  19. MENUITEMTEMPLATEHEADER structure (winuser.h)
  20. Defines the header for a menu template. A complete menu template consists of a header and one or more menu item lists.

  21. This is a paragraph.

  22. This is a paragraph.

  23. This is a paragraph.

  24. This is a paragraph.

  25. This is a paragraph.

  26. This is a paragraph.

  27. This is a paragraph.

  28. This is a paragraph.

  29. This is a paragraph.

Saturday, September 4, 2021

spiral etc...

spiral

  1. Shrinkage Points of Golden Rectangle, Fibonacci Spirals, and Golden Spirals
  2. This is a paragraph.

  3. logarithmic spiral
  4. This is a paragraph.

  5. Calculates the area and arc of an elliptical sector given two axes and two angles.
  6. This is a paragraph.

  7. Area of an elliptical arch Calculator
  8. This is a paragraph.

  9. Area of a parabolic arch Calculator
  10. This is a paragraph.

  11. A Fast and Robust Ellipse-Detection Method Based on Sorted Merging
  12. This is a paragraph.

  13. Drawing Ellipses: Ellipsograph or Trammel of Archimedes
  14. This is a paragraph.

  15. Geometry: gateway
  16. This is a paragraph.

  17. NameBright - Coming Soon
  18. This is a paragraph.

  19. Practical Conic Sections: The Geometric Properties of Ellipses, Parabolas and Hyperbolas (2003)
  20. This is a paragraph.

  21. This is a paragraph.

  22. This is a paragraph.

  23. This is a paragraph.

  24. This is a paragraph.

  25. This is a paragraph.

  26. This is a paragraph.

  27. This is a paragraph.

  28. This is a paragraph.

copy constructor in C++

copy constructor in C++

    Geeks stuff

  1. Copy Constructor in C++
  2. What is a copy constructor? A copy constructor is a member function that initializes an object using another object of the same class. A copy constructor has the following general function prototype:

    ClassName (const ClassName &old_obj);

    this link has other 5 links of topics as following links:

  3. Copy constructor vs assignment operator in C++
  4. This is a paragraph.

  5. When is copy constructor called?
  6. This is a paragraph.

  7. When should we write our own copy constructor?
  8. Advanced C++ | Virtual Copy Constructor
  9. This is a paragraph.

  10. advacned| virtual constructor
  11. Why copy constructor argument should be const in C++?
  12. This is a paragraph.

    CPP reference: constructor list

  13. Move constructors
  14. move constructor:A move constructor of class T is a non-template constructor whose first parameter is T&&, const T&&, volatile T&&, or const volatile T&&, and either there are no other parameters, or the rest of the parameters all have default values..

    all these good links are worthy to working on it:

    1. converting constructor
    2. copy assignment
    3. copy constructor
    4. copy elision
    5. default constructor
    6. destructor
    7. explicit
      • initialization
      • aggregate initialization
      • constant initialization
      • copy initialization
      • default initialization
      • direct initialization
      • initializer list
      • list initialization
      • reference initialization
      • value initialization
      • zero initialization
    8. move assignment
    9. new

    Good Basics

  15. Automatics, Copy Constructor, Assignment Operator
  16. basics...

  17. What is the difference between memberwise copy, bitwise copy, shallow copy and deep copy?
  18. Member-wise Copy Is when you visit each member and explicitly copy it, invoking its copy constructor. It is usually tantamount to deep-copy. It is the right and proper way of copying things. The opposite is bit-wise copy, which is a hack, see below.

    Bit-wise Copy Is a specific form of shallow copy. It is when you simply copy the bits of the source class to the target class, using memcpy() or something similar. Constructors are not invoked, so you tend to get a class which appears to be all right but things start breaking in horrible ways as soon as you start using it. This is the opposite of member-wise copy, and is a quick and dirty hack that can sometimes be used when we know that there are no constructors to be invoked and no internal structures to be duplicated. For a discussion of what may go wrong with this, see this Q&A: C++ bitwise vs memberwise copying?

    Shallow Copy Refers to copying just the immediate members of an object, without duplicating whatever structures are pointed by them. It is what you get when you do a bit-wise copy. (Note that there is no such thing as "shadow copy". I mean, there is such a thing, in file systems, but that's probably not what you had in mind.)

    Deep Copy Refers to not only copying the immediate members of an object, but also duplicating whatever structures are pointed by them. It is what you normally get when you do member-wise copy.

    To summarize:There are two categories:

    1. Shallow Copy
    2. Deep Copy

    Then, there are two widely used techniques:

    1. Bit-wise Copy (a form of Shallow Copy)
    2. Member-wise Copy (a form of Deep Copy).

  19. Can I make a bitwise copy of a C++ object?
  20. Can C++ objects be copied using bitwise copy? I mean using memcopy_s? Is there a scenario in which that can go wrong?

  21. C++ bitwise vs memberwise copying? [closed]
  22. This is a paragraph.

  23. The disadvantages of bitwise copying. Example. The need to use the copy constructor and copy operator for classes containing dynamic memory allocation
  24. This is a paragraph.

  25. Memory Leak: Bit-Wise and Member-Wise Copy in C++
  26. This is a paragraph.

  27. Shallow Copy and Deep Copy in C++
  28. In general, creating a copy of an object means to create an exact replica of the object having the same literal value, data type, and resources.

    • Copy Constructor
    • Default assignment operator.

Thursday, September 2, 2021

Resource files in Visual C++

Resource files in Visual C++. search "resource file"

  1. Working with Resource Files
  2. Resources can be composed of a wide range of elements, like:

    • Interface elements that provide information to the user such as a bitmap, icon, or cursor.
    • Custom resources that contain data and application needs.
    • Version resources that are used by setup APIs.
    • Menu and dialog box resources

  3. Resource Comparer
  4. Compares two .RC-files and shows important differences. Useful if you create programs in multiple languages..

  5. XResFile - Files Stored in Resources: Part 1 - Text and Binary
  6. This series of articles is a step-by-step guide to reading files stored in your program's resources. Along the way I will present some non-MFC classes to assist you in reading text, binary, zip, and even encrypted files that have been compiled into your program as resources.

  7. XResFile - Files Stored in Resources: Part 2 - Zip Files
  8. his series of articles is a step-by-step guide to reading files stored in your program's resources. Along the way I will present some non-MFC classes to assist you in reading text, binary, zip, and even encrypted files that have been compiled into your program as resources..

  9. XResFile - Files Stored in Resources: Part 3 - Encrypted Files
  10. This series of articles is a step-by-step guide to reading files stored in your program's resources. Along the way I will present some non-MFC classes to assist you in reading text, binary, zip, and even encrypted files that have been compiled into your program as resources..

  11. Adding and extracting binary resources
  12. A beginner's guide to adding a binary resource in visual studio and a simple class for programmatical extraction..

  13. Simple Version Resource Tool for Windows
  14. A utility for creating version info on executable files without Resource Compiler

  15. Using Text File Resources in VC++
  16. Use the Resource Editor to load a text file and use it inside a C++ app..

  17. CFileVersionInfo - Retrieving a File's full Version Information Resource
  18. A class that enables you to easily retrieve a file's version information..

  19. Button with ToolTip and/or Bitmap Resource
  20. simple way to have tooltip and a 4 state button using a bitmap resource

  21. How to Embed Resources in a Static Library
  22. How can a Static Library embed resources and other data so any application (even a Console based one) can use them..

  23. Resource ID Organiser Add-In for Visual C++ 5.0/6.0/.NET
  24. An application/add-in to organise and renumber resource symbol IDs

  25. Auto Windows Resource (*.rc) version Editor
  26. This freeware allows to edit a Windows Resources File (*.rc) and to produce a file named 'version.h' containing several string constants (#define). It can also synchronize a RC file and version.h with the Classbuilder Master Header File.

  27. Display Animated Cursors stored in Resources
  28. Demonstrates how to use an animated gif stored in your resource file as an animated cursor

  29. Retrieving version information from your local application's resource
  30. Sample code to retrieve version information from your local application.

  31. This is a paragraph.

  32. This is a paragraph.

  33. This is a paragraph.

  34. This is a paragraph.

  35. This is a paragraph.