Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

button i label; Visual Studio 2013, C++

Ostatnio zmodyfikowano 2018-03-27 15:21
Autor Wiadomość
mirik
Temat założony przez niniejszego użytkownika
button i label; Visual Studio 2013, C++
» 2018-03-26 14:37:26
Witam
Na Windows 7, VisualStudio`2013, C++; pytanie, bo problem szukany długi czas, ale nie znaleziony:

- dlaczego mając 'button' w kodzie programu (który to program chodzi OK) -gdy próbuję dołożyć podprogram 'void' uruchamiany 'labelem' =sterowanie klawiaturą,  program nie reaguje na dobrze funkcjonujący podprogram =sterowanie klawiszami. Gdy nie ma buttona - label spełniający tą samą rolę jest OK (na przykład) .
Ktoś podpowie ??

-problem 2; świeży:
gdy 'label' w chwili inicjalizacji jest widoczny -pokazuje się nad innym 'labelem' -u mnie wyświetlającym fotki akurat ("Lab6->Visible = true;").
Gdy zastosuję 'ukrycie' na początku programu (Visible = false): w dowolnym momencie kodu, gdy prawidłowo w/w label sie ukazuje (visible =true) - label ten jest przykryty (u mnie obrazem fotki), tzn. innym labelem.
'TabIndex' nic nie zmienia.

 Jest na pewno prosty sposób, ale jaki..? proszę o pomoc...
 pozdrawiam...
P-170259
pekfos
» 2018-03-26 16:24:31
1. Z takiego opisu nie wiadomo w ogóle o co chodzi.
2. Nie TabIndex, tylko ZOrder.
P-170270
mirik
Temat założony przez niniejszego użytkownika
» 2018-03-26 19:32:18
Więc prościej: w prostym programiku jest button, użyty do sterowania-załączania czegoś tam. Działa ok, gdy klikać myszą. Równolegle chciałem mieć też możliwość sterowania tej samej operacji (lub innej -np. kończenia programu) za pomocą klawiatury, np. 'KeyDown'. I właśnie: nie da się (keyDown nie działa).. drogą prób-błędów okazało się, że sterowanie wywoływane przez klikanie labela (tych samych działań co próbowałem z użyciem buttona), nie koliduje wogóle z 'keyDown' -chodzi równolegle. I klikanie labela i dowolne klawisze klawiatury; równolegle. Tylko dlaczego ..? nigdzie nie spotkałem choćby wspomnienia o takiej różnicy używania: button-label.

2-gi poruszony problem: jakim kodem ustawić pokazywanie labela nad innymi, bym w 100% decydował kiedy i który label ma być nad innymi ?
..chyba prościej się nie da opisać tak prostego problemiku..
P-170278
mateczek
» 2018-03-26 19:35:43
jak chcesz by ktoś Ci pomógł to wklej kod który nie działa !!!
P-170279
mirik
Temat założony przez niniejszego użytkownika
» 2018-03-26 20:03:51
OK,konstrukcja-dane labela przy starcie programu. Label niewidoczny, ok:

C/C++
//
// Lab6_NazwaPliku
//
this->Lab6_NazwaPliku->BackColor = System::Drawing::Color::Transparent;
this->Lab6_NazwaPliku->CausesValidation = false;
this->Lab6_NazwaPliku->FlatStyle = System::Windows::Forms::FlatStyle::Flat;
this->Lab6_NazwaPliku->Font =( gcnew System::Drawing::Font( L"Franklin Gothic Medium", 20.25F, System::Drawing::FontStyle::Italic,
System::Drawing::GraphicsUnit::Point, static_cast < System::Byte >( 238 ) ) );
this->Lab6_NazwaPliku->ForeColor = System::Drawing::Color::Navy;
this->Lab6_NazwaPliku->Location = System::Drawing::Point( 458, 446 );
this->Lab6_NazwaPliku->Name = L"Lab6_NazwaPliku";
this->Lab6_NazwaPliku->Size = System::Drawing::Size( 348, 34 );
this->Lab6_NazwaPliku->TabIndex = 8;
this->Lab6_NazwaPliku->Text = L"- Nazwa wczytanej fotki..";
this->Lab6_NazwaPliku->TextAlign = System::Drawing::ContentAlignment::MiddleCenter;
this->Lab6_NazwaPliku->UseMnemonic = false;
this->Lab6_NazwaPliku->Visible = false;

I teraz w dowolnym miejscu programu linia kodu:
this->Lab6_NazwaPliku->Visible = true;

powoduje pojawienie się labela "Lab6_NazwaPliku", ale jest zawsze pod innymi labelami. Np pod tym tak skonstruowanym:

C/C++
//
// Lab5_Fotki
//
this->Lab5_Fotki->AccessibleRole = System::Windows::Forms::AccessibleRole::None;
this->Lab5_Fotki->BackColor = System::Drawing::Color::FromArgb( static_cast < System::Int32 >( static_cast < System::Byte >( 255 ) ), static_cast < System::Int32 >( static_cast < System::Byte >( 192 ) ),
static_cast < System::Int32 >( static_cast < System::Byte >( 128 ) ) );
this->Lab5_Fotki->BorderStyle = System::Windows::Forms::BorderStyle::Fixed3D;
this->Lab5_Fotki->Cursor = System::Windows::Forms::Cursors::Hand;
this->Lab5_Fotki->Enabled = false;
this->Lab5_Fotki->FlatStyle = System::Windows::Forms::FlatStyle::Popup;
this->Lab5_Fotki->Font =( gcnew System::Drawing::Font( L"Microsoft Sans Serif", 14.25F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
static_cast < System::Byte >( 238 ) ) );
this->Lab5_Fotki->ForeColor = System::Drawing::Color::Maroon;
this->Lab5_Fotki->Location = System::Drawing::Point( 2, 3 );
this->Lab5_Fotki->Name = L"Lab5_Fotki";
this->Lab5_Fotki->Size = System::Drawing::Size( 173, 32 );
this->Lab5_Fotki->TabIndex = 20;
this->Lab5_Fotki->Text = L"-Fotki-";
this->Lab5_Fotki->TextAlign = System::Drawing::ContentAlignment::MiddleCenter;
this->Lab5_Fotki->Visible = false;
this->Lab5_Fotki->Click += gcnew System::EventHandler( this, & Form1::Lab5_Fotki_Click );
//

Pytanie: jak zmusić by "Lab6_NazwaPliku" był widoczny ponad "Lab5_Fotki"...?
P-170280
darko202
» 2018-03-27 15:21:19
1.
przeczytaj o sterowaniu zdarzeniami

gdy klikasz w "button" na formie uruchamiasz zdarzenie kliknięcia na tym przycisku,
można to samo zrobić dla etykiety "label"
trzeba to jednak wymusić np. poprzez
wybranie label-> propertis -> event

2.
to co wskazałeś jako kod dotyczy jednego z plików projektu




 
P-170304
« 1 »
  Strona 1 z 1