как приостановить и возобновить wxThread с помощью события кнопки - PullRequest
0 голосов
/ 23 февраля 2011

Я пытаюсь заполнить базу данных wxListCtrl, и для этого я использую концепцию wxThread. Я хочу добавить две кнопки в кадре, для паузы и возобновления потока. Как это возможно?

1 Ответ

0 голосов
/ 24 февраля 2011

Наконец-то я получил решение - я пытался приостановить и возобновить поток с событием кнопки. Для этого

  1. Взять две кнопки wxButton *stop, *resume
  2. Создание событий двух кнопок:

    void onstopbuttonclick(wxCommandEvent & event);
    void onresumebuttonclick(wxCommandEvent & event);
    
  3. При событии кнопки остановки напишите:

    void login::onstopbuttonclick(wxCommandEvent& evt)
    {
        temper->Pause();//temper is object of thread class      
    }
    
  4. При событии кнопки возобновления напишите:

    void login::onresumebuttonclick(wxCommandEvent& evt)
    {
        temper->Resume();
    }
    
  5. Напишите наконец в методе Entry ():

    if(TestDestroy())                                                   
    {
        return NULL;
    }
    

    Напишите это перед кодом потока, когда вы нажмете кнопку остановки, это условие будет верным, что время и поток не будут выполнять никакой работы в это время.

...