• C

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.
luyazAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Kent OlsenData Warehouse Architect / DBACommented:

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
0
luyazAuthor Commented:
How about an example?
0
Kent OlsenData Warehouse Architect / DBACommented:

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
0
luyazAuthor Commented:
Are you aware that i am using no MFC or Visual c++ its just plain c.
0
Kent OlsenData Warehouse Architect / DBACommented:

That's OK.

Somewhere you had to acquire an objects library that contains the executable code for the GUI controls.

My example was C++ (Sorry -- my fault) but the same theory holds for C, too.  You just don't tie the function to the TMyForm class.


Kent
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
C

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.