Создание win32 модального окна с CreateWindow

Примеры кода в ваших ссылках используют Ajax для доступа к защищенным ресурсам / apis. Вы также можете передать токен носителя в заголовках для выполнения вызовов API на стороне сервера:

HttpClient client = new HttpClient();
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "APIurl");
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", "YourAccessToken");
HttpResponseMessage response = await client.SendAsync(request);


if (response.IsSuccessStatusCode)
{

    String responseString = await response.Content.ReadAsStringAsync();

    ...
}
16
задан petert 27 February 2013 в 09:58
поделиться

4 ответа

You need to consider what it means to be a modal window - basically, the window's parent is disabled. The only automatic way of doing this (that I am aware of) is to call DialogBox() to create a modal dialog box. However, since you want to use CreateWindow(), then all that you need to do is to manually disable the parent window yourself.

Ideally, it would be better to go the dialog box route (since the OS knows exactly what must be done in order to create a modal window), but I suppose this option is there if you must use it.

3
ответ дан 30 November 2019 в 16:42
поделиться

Убедитесь, что вы установили hwndParent в CreateWindow и используете EnableWindow (hwndParent, FALSE) , чтобы отключить родительский элемент после показа всплывающее окно. Затем включите родительский элемент с помощью EnableWindow (hwndParent, TRUE) после закрытия всплывающего окна.

18
ответ дан 30 November 2019 в 16:42
поделиться

Модальность, часть 1: UI-модальность против кодовой модальности объясняет, как это сделать, и почему вы можете этого не хотеть.

13
ответ дан 30 November 2019 в 16:42
поделиться

Вы также можете запустить «вторичный цикл сообщений», который будет держать родительское окно неактивным до тех пор, пока ваша работа с «модальным» диалоговым окном не будет завершена.

2
ответ дан 30 November 2019 в 16:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: