当前位置: 首页>>代码示例>>C++>>正文


C++ BLooper::PostMessage方法代码示例

本文整理汇总了C++中BLooper::PostMessage方法的典型用法代码示例。如果您正苦于以下问题:C++ BLooper::PostMessage方法的具体用法?C++ BLooper::PostMessage怎么用?C++ BLooper::PostMessage使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在BLooper的用法示例。


在下文中一共展示了BLooper::PostMessage方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: msg

void
ColorPickerPanel::MessageReceived(BMessage* message)
{
	switch (message->what) {
		case MSG_CANCEL:
		case MSG_DONE:
		{
			BMessage msg('PSTE');
			BLooper* looper = fTarget ? fTarget->Looper() : be_app;
			if (fMessage)
				msg = *fMessage;
			if (message->what == MSG_DONE)
				store_color_in_message(&msg, fColorPickerView->Color());
			msg.AddRect("panel frame", Frame());
			msg.AddInt32("panel mode", fColorPickerView->Mode());
			msg.AddBool("begin", true);
			looper->PostMessage(&msg, fTarget);
			PostMessage(B_QUIT_REQUESTED);
			break;
		}
		default:
			Panel::MessageReceived(message);
			break;
	}
}
开发者ID:AmirAbrams,项目名称:haiku,代码行数:25,代码来源:ColorPickerPanel.cpp

示例2: message

// SelectionChanged
void
SimpleListView::SelectionChanged()
{
	BLooper* looper = Looper();
	if (fSelectionChangeMessage && looper) {
		BMessage message(*fSelectionChangeMessage);
		looper->PostMessage(&message);
	}
}
开发者ID:,项目名称:,代码行数:10,代码来源:

示例3: ticker

int32 ticker(void *data) {
	
	BMessage	*msg = (BMessage *)data;
	
	int64	snooze_time = 0;
	msg->FindInt64("snooze", &snooze_time);

	BLooper		*looper = 0;
	msg->FindPointer("looper", (void **)&looper);

	delete msg;
	
	if (looper==0 || snooze_time==0) return 10;
	
	long long nexttick = system_time();
	
	for (;;) {
		nexttick += snooze_time;
		snooze_until(nexttick,  B_SYSTEM_TIMEBASE);
		looper->PostMessage('tick');
	}
	return 0;
}
开发者ID:HaikuArchives,项目名称:PecoBeat,代码行数:23,代码来源:Ticker.cpp

示例4: MessageReceived

void NamePanel::MessageReceived(BMessage* message)
{
	switch (message->what) {
		case MSG_PANEL_CANCEL:
			Quit();
			break;
		case MSG_PANEL_OK: {
			if (!fTarget)
				fTarget = fWindow;
			BLooper* looper = fTarget ? fTarget->Looper() : NULL;
			if (fMessage && looper) {
				BMessage cloneMessage(*fMessage);
				cloneMessage.AddString("name", fNameTC->Text());
				cloneMessage.AddRect("frame", Frame());
				looper->PostMessage(&cloneMessage, fTarget);
			}
			Quit();
			break;
		}
		default:
			Panel::MessageReceived(message);
	}
}
开发者ID:DonCN,项目名称:haiku,代码行数:23,代码来源:NamePanel.cpp


注:本文中的BLooper::PostMessage方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。