Link to home
Start Free TrialLog in
Avatar of luyaz
luyaz

asked on

Placing bitmap and textboxes in tabcontrol

I have a window with three tab control that works fine with title for each page, i want to know how to place a bitmap, textboxes,listboxe, etc in each tabcontrol page. The window and tabcontrol pages are created using plane c, no MFC or Visual C++.
enviroment win2k,lcc-win.
Avatar of Kent Olsen
Kent Olsen
Flag of United States of America image


Objects are added to the tabbed notebook in the same manner as they are added to any other object.  Create the new object and make the tabbed notebook the parent.  (Sorry -- the page doesn't own the object, the notebook does.)

The tabbed notebook contains a property (field, variable, etc) called PageIndex.  When one of the tabs is clicked, walk through the objects owned by the notebook and set the object's Visible property according to whether you want the item active on the new page.

Oh, and when you first display the notebook you'll want to make sure that Visible is correctly set for each object so that the initial page displays properly.


Kent
Avatar of luyaz
luyaz

ASKER

How about an example?

Sorry for the delay getting back to you.

Pretend that you've got a two page tabbed notebook.  The two pages are identified as "Page 1" and "Page 2".  Within the Windows system, the two pages are NOT considered objects -- they are simply items on a control.  So you cannot assign an item to a "page" of a tabbed notebook and just have it work.

Now lets add an item to each page.  "This is page 1" and "This is page 2" are labels that are added to the tabbed notebook.  When a page is displayed we want the correct label to also display.

Set the tabbednotebook's "OnClick" event to point to a function, TabbedNotebookClick().  Now code the function like this:

TMyForm::TabbedNotebookClick (TObject *Sender)
{
 
  if (TabbedNotebook->DisplayPage == 1)
  {
    TabbedNotebook->Label1->Visible = true;
    TabbedNotebook->Label2->Visible = false;
  }
  else if (TabbedNotbook->DisplayPage == 2)
  {
    TabbedNotebook->Label1->Visible = false;
    TabbedNotebook->Label2->Visible = true;
  }

As you add pages and objects, add them to the TabbedNotebookClick() method to control when the are displayed.

The tabbednotebook object has a property called "Active Page".  You can change which page is displayed from your program by setting this property to the NAME of the page that you want displayed.


Good Luck!
Kent
Avatar of luyaz

ASKER

Are you aware that i am using no MFC or Visual c++ its just plain c.
ASKER CERTIFIED SOLUTION
Avatar of Kent Olsen
Kent Olsen
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial